热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

物联网毕设中的问题解决

一、总体概述二、硬件系统传感器模块调试编译环境:C编译器-IAREmbeddedWorkbench带有CC编译器和调试器的集成开发环境(IDE)、实时操作系统和中间件

一、总体概述 

二、硬件系统

传感器模块调试

编译环境:

C编译器-IAR Embedded Workbench 带有C/C++编译器和调试器的集成开发环境(IDE)、实时操作系统和中间件、开发套件、硬件仿真器以及状态机建模工具。


------------------------------------------------------------------------------------------

新建工作空间

在一个工作空间下,可以包含多个工程,每个工程可以单独配置与编译、调试、下载等,十分适合工业化需求与系统管理。操作如下:File\New\Workspace,点击保存按钮,设置文件名后保存。

1、先创建一个工作区(Workspace)

2、创建一个工程并将创建的工程添加到工作区    选择Project->Create New Project。弹出Create New Project对话框,可以让用户按照模板创建新工程。

 

单片机中的串口是什么

最通俗的解释:一种通讯接口,用来传输一些数据。

硬件特性

1、主流单片机包括CPU、4KB容量的RAM、128 KB容量的ROM、
2个16位定时/计数器、4个8位并行口、全双工串口行口、ADC/DAC、SPI、I2C、ISP、IAP。

RAM(random access memory)即随机存储内存,这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。
ROM(Read-Only Memory)即只读内存,是一种只能读出事先所存数据的固态半导体存储器。

2、系统结构简单,使用方便,实现模块化;
3、单片机可靠性高,可工作到10^6 ~10^7小时无故障;
4、处理功能强,速度快。
5、低电压,低功耗,便于生产便携式产品
6、控制功能强
7、环境适应能力强

 

软件的使用:

1、Proteus的简介

EDA工具(仿真软件)

 

 

2、Keil C51的简介

 

 温湿度传感器DHT11

DHT11用的是单总线协议,一次传送40位的数据。注意了,看到这一句话,也就是说我们每次读取DHT11的数据时,都要一次性读取40次,也就是读取40位。
并且数据前16位是与湿度相关的,中间16位是与温度相关的,最后八位是用来校验的,当我们校验成功后,证明这一次的温湿度结果正确的,我们单片机就可
以使用这个温湿度值;如果校验不通过,那么就代表我们这次读取出来的温湿度值,是错误的(也许是我们的时序错误了,也许是传感器的问题),我们不进
行采样。

单片机A/D转换, 

A/D转换器是用来通过一定的电路将模拟量转变为数字量。模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。
但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。

单片机怎么和传感器通信连接

选择器材STM32、温湿度传感器、PM2.5传感器、分贝传感器、GPRS模块、LORA模块

选择开发IAR软件,通过ST-Link和单片机连接下载

单片机和lora模块

单片机和GPRS模块

 

 

PM2.5检测 -- PMS7003 开发程序

PM2.5检测 -- PMS7003 串口测试

 

基于GPRS方式连接OneNET(SIM900A)

物联网:GPRS和NB-IOT

 调试:将USB转TTL串口与SIM模块连接

SIM800C通讯模块调试(一)用这个案例连接,然后用OneNet的案例调试

 

GPRS: 视频讲解
1,是GSM的一种移动数据业务,是2G移动通信的数据传输技术。
2,传输速率为几十kbps
3,永远在线,不会被呼入的电话打断
4,模块启动电流较大,约2AGPRS应用
1,目前应用最广泛的移动物联网解决方案。
2,信号覆盖面积最广的移动物联网,野外/山区/原野。
3,广泛应用于环境监测、自动抄表、电力公司输电线路检测、车联网、工程建筑质量监理、智慧农业等几乎所有户外移动物联网应用场景。4,模块价格¥20-30NB-IOT
1, NB-IoT,即窄带物联网(Narrow Band Internet of Things)。可直接部署于GSM网络、UMTS网络或LTE网络,部署成本低。
2,一种新兴技术,覆盖面积广,低功耗广域网。
3,资费低,未来可能取代GPRS4,模块价格预计5美元。视频讲解:https://weibo.com/tv/v/Gkiet9IYe?fid=1034:4fd2e7318d9a0eb317da2bfcfad19ee5

 

用loar模块进行数据传输

 多个LORA模块接收数据但是只有一个模块能接收数据的情况

 

 两个LORA模块工作在一般模式定向传输数据的测试方法

【LoRa模块_E32-TTL-100】+节点端代码实现 

http://www.stmcu.org.cn/module/forum/forum.php?mod=viewthread&tid=615488&highlight=E32-TTL-100

 

 

视频开发版调试

 oneNet视频开发版,linux指令

 

执行好./wifi后自动回到命令行输入,每次进入修改一下保存!!!

vi config.json  每次进入都要假修改再保存退出

 

1、表的设计

Django中的Model(操作表)

https://www.cnblogs.com/chenchao1990/p/5311531.html?utm_source=tuicool&utm_medium=referral

2、echarts X轴数据显示不全问题

很奇怪,X轴只显示了部分节点。没有显示全。

在xAxis上加上下面的配置就能解决:

axisLabel :{interval:0
}

坐标轴刻度标签的显示间隔,在类目轴中有效。

默认会采用标签不重叠的策略间隔显示标签,可以设置成 0 强制显示所有标签。

3、解决时间轴的问题

 

把四个传感器读数放在一个折线图里面显示

仪表盘的形式显示当下的最新读数

仪表盘中各种数据的含义可自定义 

 

4、web直播api

手机端推流,网页端直播

 https://cloud.tencent.com/document/product/267/5704

网页端播放器的代码实现


"en">
"UTF-8">{# 直播推流#};{# #}
{# #}{# echarts #}{# echarts #}

"map">
"width: 800px; height: 503px;" id="allmap">
"container" style="width: 600px;height: 400px">



{#
#}
"id_video_container" >


View Code

谷歌问题无法播放的问题

用Django 发送邮件的方法

用花生壳内网穿透

 

 

物联网平台onenet的使用

1、通过ONENET文档中心的快速开始进行平台的注册及产品的创建。

2、设备联网,对准备上传的数据进行组包。可使用restful API或直接用平台写好的SDK

{“liu”:123} 
3、设备和平台建立连接(通过设备ID和APIkey)

至此,您已经在OneNET上完成了产品的创建。

若您选择的是EDP,MQTT,HTTP,Modbus或者JT\T808作为接入协议,请进入公开协议产品指南了解详情;

若您选择的是RGMP作为接入协议,请进入私有协议产品指南了解详情。

 

oneNet文档中心

 

 

 

1、采集终端:

 


OneNET视频能力体验------使用树莓派摄像头推流

 

从中移动onenet平台获取数据

import urllib #python3

DEVICE_ID
='3*****6'#设备ID
API_KEY='tJX4fe************WbQoGo= '#产品的APIKEY,是MAsterKey,具有最大权限#获取的是数据流最近更新的数据点值
def http_get_data():url='http://api.heclouds.com/devices/'+DEVICE_ID+'/datapoints'request = urllib.request.Request(url)request.add_header('api-key',API_KEY)request.get_method = lambda:'GET' # 设置HTTP的访问方式request = urllib.request.urlopen(request)return request.read()post = str(http_get_data())#返回的报文转换成字符串格式
print('*'*100)
print(post)
str1
=post.split('datapoints":')[1].split('[{')[1].split('},')[0]
str2
=post.split('datapoints":')[2].split('[{')[1].split('},')[0]
str3
=post.split('datapoints":')[3].split('[{')[1].split('},')[0]
str4
=post.split('datapoints":')[4].split('[{')[1].split('},')[0]
str5
=post.split('datapoints":')[5].split('[{')[1].split('},')[0]
print('*'*100)
print(str1)
print('*'*100)
print(str2)
print('*'*100)
print(str3)
print('*'*100)
print(str4)
print('*'*100)
print(str5)
print('*'*100)

View Code

 

 基于Django的环境监测系统

温度、湿度、PM2.5、视频模块

oneNet平台添加触发器设置报警规则,对超过预设阀值的异常环境数据进行报警以引起用户的注意

向用户预留的手机号码或邮箱进行消息报警

 

设置定时器功能,每5分钟上报一次,每5分钟采集一次

 

OneNet api文档

 

OneNET介绍学习资料、视频、例程代码汇总帖(2017年6月19日)

 

树莓派传输数据给OneNET(HTTP形式)

使用python和树莓派实现远程监控

 

树莓派能用来做啥?

 

温度没问题

湿度

一、湿度,表示大气干燥程度的物理量。
二、在一定的温度下在一定体积的空气里含有的水汽越少,则空气越干燥;水汽越多,则空气越潮湿。
三、空气的干湿程度叫做“湿度”。在此意义下,常用绝对湿度、相对湿度、比较湿度、混合比、饱和差以及露点等物理量来表示。
四、若表示在湿蒸汽中水蒸气的重量占蒸汽总重量(体积)的百分比,则称之为蒸汽的湿度。
五、人体感觉舒适的湿度是:相对湿度低于70
%。

 分贝:

分贝(decibel)是量度两个相同单位之数量比例的计量单位,主要用于度量声音强度,常用dB表示。

pm2.5:

 


"en">
"UTF-8">"viewport" content="width=device-width,initial-scale=1"/>"stylesheet" href="/static/blog/bootstrap-3.3.7/css/bootstrap.css">{# 直播推流#}{#导航栏#}"stylesheet" href="/static/css/index.css">{# #}
{# #}{# #}{# echarts #}{# echarts #}
{#导航栏#}

{#-------导航栏----end#}
"all">
"width: 800px; height: 700px;" id="allmap">
{# 可视化图形 #}
"show">
"container" style="width: 600px;height: 300px">
"dashboard" style="width: 280px;height:280px;display:inline-block ">
"dashboard2" style="width: 280px;height:280px;display:inline-block ">
"container2" style="width: 600px;height: 400px">
{# 所有传感器#}
"show2">
"container3" style="width: 600px;height: 300px">
"dashboard3" style="width: 280px;height:280px">
"dashboard4" style="width: 280px;height:280px">
"container4" style="width: 600px;height: 300px">
{# 视屏显示#}
"all2">
"show3" style="width: 800px;height: 300px">
"id_video_container">

{
#
#}


代码1.7版本

 

Django网页开发

 网页端百度地图引用出现问题:

解决方法

 

转:https://www.cnblogs.com/foremostxl/p/10186842.html



推荐阅读
  • 本文介绍了JSP的基本概念、常用标签及其功能,并通过示例详细说明了如何在JSP页面中使用Java代码。 ... [详细]
  • SQLite是一种轻量级的关系型数据库管理系统,尽管体积小巧,却能支持高达2TB的数据库容量,每个数据库以单个文件形式存储。本文将详细介绍SQLite在Android开发中的应用,包括其数据存储机制、事务处理方式及数据类型的动态特性。 ... [详细]
  • 本文介绍了多种Eclipse插件,包括XML Schema Infoset Model (XSD)、Graphical Editing Framework (GEF)、Eclipse Modeling Framework (EMF)等,涵盖了从Web开发到图形界面编辑的多个方面。 ... [详细]
  • 字符、字符串和文本的处理之Char类型
    .NetFramework中处理字符和字符串的主要有以下这么几个类:(1)、System.Char类一基础字符串处理类(2)、System.String类一处理不可变的字符串(一经 ... [详细]
  • 深入探讨Web服务器与动态语言的交互机制:CGI、FastCGI与PHP-FPM
    本文详细解析了Web服务器(如Apache、Nginx等)与动态语言(如PHP)之间通过CGI、FastCGI及PHP-FPM进行交互的具体过程,旨在帮助开发者更好地理解这些技术背后的原理。 ... [详细]
  • 本文深入探讨了HTML5中十五个重要的新特性,为开发者提供了详细的指南。 ... [详细]
  • 多用户密码验证与加密登录系统
    本文介绍了一种基于多用户密码文件的加密登录方法,通过读取用户密码文件并使用简单的加密算法实现安全登录。文中详细描述了程序的设计思路及其实现过程。 ... [详细]
  • 时序数据是指按时间顺序排列的数据集。通过时间轴上的数据点连接,可以构建多维度报表,揭示数据的趋势、规律及异常情况。 ... [详细]
  • Nagios可视化插件开发指南 —— 配置详解
    本文详细介绍了Nagios监控系统的配置过程,包括数据库的选择与安装、Nagios插件的安装及配置文件的解析。同时,针对常见的配置错误提供了具体的解决方法。 ... [详细]
  • 本文介绍了如何使用Workman框架构建一个功能全面的即时通讯系统,该系统不仅支持一对一聊天、群组聊天,还集成了视频会议和实时音视频通话功能,同时提供了红包发送等附加功能。 ... [详细]
  • 本文介绍了如何将Linux系统中的YUM源更换为阿里云镜像源,包括网络连通性测试、原YUM源的移除、阿里云YUM源的配置以及缓存的更新等步骤。 ... [详细]
  • BeautifulSoup4 是一个功能强大的HTML和XML解析库,它能够帮助开发者轻松地从网页中提取信息。本文将介绍BeautifulSoup4的基本功能、安装方法、与其他解析工具的对比以及简单的使用示例。 ... [详细]
  • ODB 2.1.0 版本现已推出,此更新引入了多项新功能,如通过访问器、修饰符、函数及表达式访问数据成员,支持虚拟数据成员,并允许在数据成员上直接定义数据库索引等。 ... [详细]
  • Python:新浪微博API初试
    {想在微博上抓点数据进行分析,费了一天多的时间,才终于找到点头绪,整理一下。}目录:一注册创建应用获取认证和授权二新浪微博pythonsdk下载和安装三简 ... [详细]
  • 配置PicGo与Gitee结合Typora打造高效写作环境
    本文详细介绍了如何通过PicGo和Gitee搭建个人图床,并结合Typora实现高效的文章撰写。包括创建图床项目、生成访问令牌、安装配置PicGo和Typora等步骤。 ... [详细]
author-avatar
UIleader
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有