热门标签 | 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



推荐阅读
  • 用ESP32与Python实现物联网(IoT)火焰检测报警系统
    下图是本案例除硬件连线外的3步导学开发过程,每个步骤中实现的功能请参考图中的说明。在硬件连线完成之后我们建议您先使用“一分钟上云体验”功能预先体验本案例的实际运行效果 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • python3 logging
    python3logginghttps:docs.python.org3.5librarylogging.html,先3.5是因为我当前的python版本是3.5之所 ... [详细]
  • Imdevelopinganappwhichneedstogetmusicfilebystreamingforplayinglive.我正在开发一个应用程序,需要通过流 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 【工具篇】抓包中的王牌工具—Fiddler (1环境搭建)
    本文介绍了抓包工具Fiddler的概述,包括其功能、选择原因和安装方法。Fiddler是一款免费且功能强大的抓包工具,可用于网络代理、接口测试、安全测试和WEB调试等。安装配置简单,上手快速,适合新手使用。详细的安装地址为https://www.telerik.com/download/fiddl。 ... [详细]
  • Ubuntu18.04 安装ROS Melodic && Ros2 Dashing
    https:blog.csdn.netqq_44717317articledetails104547474一、Ubuntu18.04的安装ubuntu2go的制作关于Ubuntu2 ... [详细]
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社区 版权所有