一、总体概述
二、硬件系统
传感器模块调试
编译环境:
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 #}
谷歌问题无法播放的问题
用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)
基于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#}
{##}
Django网页开发
网页端百度地图引用出现问题:
解决方法