第三章 硬件平台程序设计
第三章 硬件平台程序设计3.1 通信协议确立 常见的通信协议有TCP、UDP、MQTT、HTTP协议等,硬件层协议要与后端服务器匹配才能完成通信。硬件层协议要充分考虑单片机运行速度,以及内存大小,选择合适的通信协议有利用提高系统稳定性,保障数据传输的安全性,减少传输过程中出错概率。
3.1.1 TCP协议 TCP协议全称: TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。传输控制协议,就是要对数据的传输进行控制.TCP协议主要任务是建立应用程序之间信息通信。应用程序要想建立通信,首先其中一方会主动发送一个请求,申请建立通信,这个请求会被发送到接收方对应的IP地址。当接收方收到请求后双方会执行“握手”流程,确保双方通信稳定、安全的建立。TCP通信建立后,两个应用程序可以实现全双工的信息交流。 端口号:计算机上可以运行很多TCP应用程序,同一台计算机上运行的所有TCP应用程序它们的IP地址是相同的,那么,如何区分这些应用程序?如何保证数据能被指定的应用程序接收,端口号的作用 ...
基于ESP8266控制系统设计
基于ESP8266控制系统设计 ESP8266模组内置32位微控制器,一般应用场合作wifi模块使用,调用AT指令来控制模块收发数据。本节通过对ESP8266模组内的微控制器进行编程,即可作为单片机正常读取外围传感器数据。适用于低功耗场景,且占用空间小。
ESP8266工作模式: ESP8266支持softAP模式,station模式,softAP+station 共存模式三种。SoftAP即无线接入点,是一个无线网络的中心节点。通常使用的无线路由器就是一个无线接入点。Station即无线终端,作为无线设备与softAP建立连接。 (1)ESP8266处于softAP模式:ESP8266作为softAP,手机、电脑、用户设备、其他ESP8266 station接口等均可以作为station连入ESP8266,组建成一个局域网,在局域网内,所有station设备发送的信息都会通过SoftAP设备进行处理、转发,通过Station设备发送控制命令,就可以通过SoftAP设备间接控制处于同一局域网的其他Station设备。 (2)ESP8266处于S ...
基于STM32F103控制系统设计
2.2 基于STM32F103控制系统设计 硬件层选用Stm32+esp8266框架,因控制芯片引脚丰富,可以搭载更多的传感器,满足复杂环境的控制需求。以STM32F103C8T6芯片为主控芯片,通过usart串口与乐鑫公司生产的ESP8266-01模组连接,配置STM32F103芯片的通用输入输出端口为数字量输出,数字量输入,模拟量输入模式,外接继电器模组,LED灯,温湿度传感器,OLED显示屏,独立按键,存储芯片,灰尘传感器等设备。
硬件功能设计:(一)联网功能 作为物联网方面的设备, 硬件通过板载WIFI模块进行联网,模块型号为 ESP8266_01,通过串口与单片机通信,接入简单方便。出厂固件支持SoC方案及二次开发,大大降低开发成本,缩短研发周期。当然,想用其它的方式联网,也可以通过IO 口进行扩展。电路原理图如下所示:
(二)传感器功能 集成了温湿度传感器,型号为 SHT30,采用 I2C 接口,可以实时采集环境数据,上传到后端软件平台进行数据处理,以供相关功能使用,也可以通过I2C接口,扩展其它传感器。
(三)最小系统 最小系统是S ...
硬件平台设计
硬件平台设计2.1 硬件平台框架设计 硬件平台搭建可以简单的分为三大部分:控制器,外围设备,以及驱动电路。控制器是硬件电路的核心,主要工作是与外围设备进行数据通信,控制设备运行状态。外围设备通常为传感器,显示器件,特殊功能芯片。驱动电路可以理解为控制器与外围设备连接的桥梁,只有当硬件电路满足外设驱动标准,再按照特点的通信协议编写控制程序,才能实现控制器与外围设备间正常的数据通信。
2.1.1 控制方案 控制器通过I2C总线与温湿度传感器,OLED显示屏,光强传感器连接,通过I2C协议读取控制。对于一些输入输出为数字量或者模拟量的外围器件,则通过控制器的通用输入输出接口与之相连。这类器件通常为MQ系列的气体传感器,光耦驱动的继电器模组,红外灰尘传感器,火焰传感器等。作为一款物联网设备,硬件层要求必须具备局域网或广域网通信的能力,常见的通信模块有乐鑫的ESP8266 WIFI模块,GPRS 移动通信模组,2.4G射频模块(lora,zigbee等)。针对于不同的控制场合,充分考虑系统成本、控制需求,在控制器的选型上进行优化,得到两种方案。
方案 ...
智能家居系统语音交互设计方案
智能家居是一个较为复杂的控制系统,控制设备既要实现精准控制,又要做到快速响应,这就要求我们必须有个灵活的后端服务平台,来处理设备采集上传的数据,并精准快速的向设备发出控制指令。如何搭建一个高性能的后端服务平台?选用什么样的通信协议?硬件如何设计既能满足控制需求,又能做到价格便宜性能优越?这需要去不断探索研究。拟解决的主要科学及技术问题如下:
(1)控制设备硬件设计控制设备的硬件设计要和实际控制环境相适应,充分利用硬件资源,既要精确采集上传环境数据,又要果断完成控制动作。
(2)控制设备软件设计控制设备如何采集上传数据,如何接收服务器的控制指令,怎样高效完成控制动作。这不仅要求硬件可靠,还要软件设计合理。软件层作为控制设备的灵魂,对控制设备性能起决定性作用。选用合适的通信协议是数据能够稳定传输的保障。
(3)后端服务器的搭建后端服务器是整个控制系统的大脑,底层的控制设备要将所有环境数据,设备运行数据上传到服务器,服务器对数据进行分析后发送控制指令给控制设备。后端是整个控制系统的核心,要完成数据的接收与指令发送,要求后端服务器与底层控制设备统一通信协议,并设置数据 ...
ESP8266多链接配置教程
ESP8266多链接配置教程
ESP8266是一款串口wifi模块,模块内嵌 TCP/IP 协议,可以实现串口、WIFI 之间的数据传输转换传输. 模块内嵌AT指令,可以通过串口发送AT指令来操作模块。由于网上对ESP8266多连接模式配置,没有详细的教程,做物联网产品研发可能会让自己的设备同时登陆到第三方网站上获取信息,为了在获取第三方网站数据时,仍然保持与主服务器通信,这里就需要将8266配置为多链接模式.
为了方便本次教程用USB转串口模块为媒件,把电脑与ESP8266模块物理连接(做成产品是通过控制芯片的串口脚与模块连接).
1.准备完毕后,在电脑端打开串口调试助手(教程所用软件由正点原子开发),选择正确的 COM 号,然后设置波特率为 115200,然后发送测试指令 ’’ AT“,返回OK则模块通信正常。如果未收到任何数据,尝试将USB转串口模块 Tx,和Rx 用杜邦线短接,再发送数据,查看是否收到同样数据,来判断是否是USB转串口模块故障。(注:初次使用USB转串口模块需要安装驱动)
3.指令
1)设置 WIFI 模式:AT+CWMODE=1 ...
关于ONENET EDP协议在非官方开发板上的移植
关于ONENET EDP协议在非官方开发板上的移植
EDP方式接入onenet的SDK包在onenet官网论坛资料区下载,因官方例程是基于麒麟系列的开发板编写的,麒麟用的是stm32f103系列芯片,本次以f103c8t6最小系统板为本次移植目标板,理论上移植是不需要更改任何代码的,但是麒麟座用的外部晶振是12MHz的,而市场上大部分厂家生产的开发板外部晶振为8MHz。因此需要更改一些配置参数。
配置流程
1.打开下载好的源码例程,双击打开工程文件
2.在左侧找到main文件双击打开。
3.在main文件中找到#include<stm32f10x.h>
4.单击鼠标右键选择 open document “stm32f10x.h”
5.在stm32f10x.h 文件中找到箭头所示的位置(119行),将12000000改为8000000【将外部晶振频率配置为8MHz】
6.在左侧工程文件栏找到 system_stm32f10x.c 双击打开.
7.找到如图所示的位置,将倍频系数改为9倍频【外部晶振8*9=72Mhz】72Mhz是stm32f103系列芯片理论 ...
物联网管家机器人零入门设计
###物联网管家机器人零入门设计
设计思路:在科技迅速发展的今天,生活压力的增加,人们渴望追求更优越的生活条件,所以加班的现象越来越普遍。那么当你不在家并且家里没人的时候,如果家里失火、煤气忘关,或者说管道漏水等。如何能够实时的了解家中的情况,并且能够在最短速度内报警,把损失降低到最小,显得尤为重要。因此,萌发了做一款可移动侦测采集室内数据的智能小车。
功能介绍:室内环境复杂,为了保证小车不撞到障碍。使用单片机控制超声波测距,对环境障碍进行180度探测,寻找最优路径实现避障功能。假如需要小车实现多点定点检测,那么只需规划出特殊的路线,利用红外检测路线,实现自动巡航功能。传感器采集回来的数据,由MCU简单处理后,通过网络设备无线上传到“云”服务器,用户可以在电脑端,手机端查看小车移动采集的数据。当采集回来的数据,超出正常值时,可以触发“报警”功能。搭载害气体传感器接口,烟雾粉尘传感器,可实现有害气体(煤气)泄露报警,室内粉尘检测。小车采用wifi联网,为了解决大多数非专业用户在不懂编程的情况下依然能正常使用,小车采用Airkiss技术,用户可以在手机端通过微信或者特定APP就可以实现 ...
[EDP] onenet智能热水循环泵
[EDP] onenet智能热水循环泵
主要是基于cortex——M3 stm32f103c8t6芯片的物联网 智能热水循环泵【大二学生,不喜勿喷,大神路过求指点】为啥每次都做热水循环系统,因为此次分享,主要是为了升级去年基于51单片机以及2272模块的无线温控时控系统,51系统在工作的3个月内,参与测试的用户反应,温控对于热水泵的运行效果有些鸡肋,热水泵出水口的温度过高,18B20单测点不能科学的反映室内温度,增加测温点显然对于个体用户来说成本过大,布线麻烦(18B20走线越长,信号越弱)。齐次,2272超再生传输距离太短,虽然第二次升级改用超外差模块传输,但是距离也没改善多少,穿墙效果太差。后续有考虑到用CC1000,穿墙王,lora,等进行改善,但成本大,功耗大,而且需要成对模组,单独控制电路。果断放弃了。 此次用8266WIFI模块,将控制器的数据打包发送到云服务器,再由云服务器下发到手机,通过手机进行控制。 用到的材料:5*7的洞洞板主控仍然是stm32f103c8t6最小系统。为了做这个项目在淘宝买了8个最小系统板,结果有5个怎么也下载不进去东西,鼓捣了半天 才想到可能有写 ...