物联网--毕设中的问题解决

一、总体概述 

二、硬件系统

传感器模块调试

编译环境:

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张图片

软件的使用:

1、Proteus的简介

EDA工具(仿真软件)

 物联网--毕设中的问题解决_第2张图片物联网--毕设中的问题解决_第3张图片

物联网--毕设中的问题解决_第4张图片

 

2、Keil C51的简介

物联网--毕设中的问题解决_第5张图片

 

 温湿度传感器DHT11

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

单片机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,模块启动电流较大,约2A

GPRS应用
1,目前应用最广泛的移动物联网解决方案。
2,信号覆盖面积最广的移动物联网,野外/山区/原野。
3,广泛应用于环境监测、自动抄表、电力公司输电线路检测、车联网、工程建筑质量监理、智慧农业等几乎所有户外移动物联网应用场景。

4,模块价格¥20-30

NB-IOT
1, NB-IoT,即窄带物联网(Narrow Band Internet of Things)。可直接部署于GSM网络、UMTS网络或LTE网络,部署成本低。
2,一种新兴技术,覆盖面积广,低功耗广域网。
3,资费低,未来可能取代GPRS

4,模块价格预计5美元。

视频讲解:https://weibo.com/tv/v/Gkiet9IYe?fid=1034:4fd2e7318d9a0eb317da2bfcfad19ee5

 

用loar模块进行数据传输

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

 物联网--毕设中的问题解决_第7张图片

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

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

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

 

 

视频开发版调试

 oneNet视频开发版,linux指令

物联网--毕设中的问题解决_第8张图片

 物联网--毕设中的问题解决_第9张图片

执行好./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)

物联网--毕设中的问题解决_第10张图片

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

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

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

 

oneNet文档中心

 

 

 

1、采集终端:

物联网--毕设中的问题解决_第11张图片

 


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

物联网--毕设中的问题解决_第12张图片

 

 基于Django的环境监测系统

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

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

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

 

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

 

OneNet api文档

 

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

 

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

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

 

树莓派能用来做啥?

 

温度没问题

湿度

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

 分贝:

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

物联网--毕设中的问题解决_第14张图片

pm2.5:

物联网--毕设中的问题解决_第15张图片

 


"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网页开发

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

物联网--毕设中的问题解决_第16张图片

解决方法

 

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

你可能感兴趣的:(物联网--毕设中的问题解决)