设备端开发 | 学习笔记

简介: 快速学习 设备端开发

开发者学堂课程【物联网平台开发全栈教程设备端开发学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/562/detail/7698


设备端开发


内容介绍

一、硬件准备

二、工具准备

三、设备开发利器

四、单片机整体框架

 

课程概要:本课基于51单片机接入阿里云 IOT 平台,设备端开发准备


一、硬件准备

注意:购买的庆科模组型号为 EMW3080里面的固件必须是 AT 指令固件

1. 两种方法:

1)购买时向卖家确认

2)自己去升级查看固件版本号

2.参考方法:

https://www.hongchangzidonghua.com/?id=39

image.png


二、工具准备

1.电脑软件准备

1)安装 Keil5编译环境

2)下载视频配套小工具

3)安装各种软件联系零妖老哥,可以获得更多学习资料

image.png


三、设备端开发利器

1. 画原理图和 PCBwww.lceda.cn

2、买元器件淘宝,立创商城:www.szzlcsc.com

3PCB 打样深圳嘉立创 www.sz-jlc.com

4、寻找某型号 IC 的使用说明书 立创商城

5、可靠的云服务供应商 阿里云 www.aliyun.com


四、单片机整体框架

1. MQTT 本质上是二进制数据流

2.MQTT.FX TCP 助手查看数据流

3.类似的方法用在单片机上

51单片机编程小工具基本原理

数据是二进制数据流,第一步是建立 tcp 数据连接,tcp 连接任务是交给 WIFI 模组来实现,模组只有一个功能,通过单片机串口与模组连接,传输参数: WIFI-SSID WIFI 密码,连接上 WiFi 后, MQTT 域名和端口就是 http 服务的端口建立通信,单片机串口发送的数据直接发个服务器,通过小工具和三元组信息计算了参数,点击生成头文件,在小工具生成两个文件 MQTT_Message.h MQTT_Message_Test.h

打开

MQTT_Message_Test.h

//服务器回复心跳:

unsigned char MQTT_Heart_Reply[]={d0 00};

//断开连接报文:

unsigned char MQTT_DisConnect[]={ e0 00};

//属性上报的报文:

unsigned char MQTT_Post_Property[]={ 30 ad 01 00 3f 2f 73 79 73 2f

打开 MQTT_Message.h

Unsigned char MQTT_Connect_Reply[]={0x20,0x02,0x00,0x00,};

//设备发送心跳包:

unsigned char MQTT_Heart[]={0xc0,0x00};//服务器回复心跳;

unsigned char MQTT_Heart_Reply[]={0xd0,0x00};

//断开连接报文:

unsigned char MQTT_DisConnect[]={ 0x00,0x00,};

打开网络调试助手,启动一个 TCP Server

image.png

单片机通过串口发送至服务器,服务器返回成功会发送心跳,客户端发送心跳是 c0 00,服务器应该回复 d0 00,在规定的时间内回调

发送消息后,小工具会接受的二进制消息

若单片机把数据发送至服务器,服务器也会收到消息

小工具:

直接通过串口与单片机进行连接,写数据到单片机可以把所有的数据写入单片机,保存到 flash 中,再通过报文读出来发给服务器

发送数据,生成属性上报是生成15.5摄氏度

image.png

每次只需要把15.5修改为自己需要的,服务器就会返回数据

相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
消息中间件 物联网
MQTT常见问题之mqtt 报 MqttException:客户机未连接如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
JavaScript 前端开发 数据库
Kettle使用脚本实现循环(十)
Kettle使用脚本实现循环(十)
2062 0
Kettle使用脚本实现循环(十)
|
消息中间件 运维 Serverless
商业版vs开源版:一图看懂云消息队列 RocketMQ 版核心优势
自建开源 RocketMQ 集群,为保证业务稳定性,往往需要按照业务请求的峰值去配置集群资源。云消息队列 RocketMQ 版 Serverless 实例通过资源快速伸缩,实现资源使用量与实际业务负载贴近,并按实际使用量计费,有效降低企业的运维压力和使用成本。
771 104
|
8月前
|
数据采集 移动开发 算法
【硬件测试】基于FPGA的QPSK调制+软解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于FPGA实现QPSK调制与软解调系统,包含Testbench、高斯信道、误码率统计模块,并支持不同SNR设置。硬件版本新增ILA在线数据采集和VIO在线SNR设置功能,提供无水印完整代码及测试结果。通过VIO分别设置SNR为6dB和12dB,验证系统性能。配套操作视频便于用户快速上手。 理论部分详细解析QPSK调制原理及其软解调实现过程,涵盖信号采样、相位估计、判决与解调等关键步骤。软解调通过概率估计(如最大似然法)提高抗噪能力,核心公式为*d = d_hat / P(d_hat|r[n])*,需考虑噪声对信号点分布的影响。 附Verilog核心程序代码及注释,助力理解与开发。
283 5
|
Cloud Native Java API
聊聊从单体到微服务架构服务演化过程
本文介绍了从单体应用到微服务再到云原生架构的演进过程。单体应用虽易于搭建和部署,但难以局部更新;面向服务架构(SOA)通过模块化和服务总线提升了组件复用性和分布式部署能力;微服务则进一步实现了服务的独立开发与部署,提高了灵活性;云原生架构则利用容器化、微服务和自动化工具,实现了应用在动态环境中的弹性扩展与高效管理。这一演进体现了软件架构向着更灵活、更高效的方向发展。
|
编译器 Linux C语言
gcc的编译过程
GCC(GNU Compiler Collection)的编译过程主要包括四个阶段:预处理、编译、汇编和链接。预处理展开宏定义,编译将代码转换为汇编语言,汇编生成目标文件,链接将目标文件与库文件合并成可执行文件。
479 11
|
SQL 关系型数据库 MySQL
Hive报错:HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.me
Hive报错:HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.me
1681 0
|
存储 运维 数据挖掘
带你读《Apache Doris 案例集》—— 01 招商信诺人寿 基于 Apache Doris 统一 OLAP 技术栈实践(2)
带你读《Apache Doris 案例集》—— 01 招商信诺人寿 基于 Apache Doris 统一 OLAP 技术栈实践(2)
524 0
|
IDE 前端开发 搜索推荐
5款超好用的在线IDE,媲美vscode,可以直接编写前端构建化项目,而无需在本地下载依赖包,非常适合学习、demo、原型开发
5款超好用的在线IDE,媲美vscode,可以直接编写前端构建化项目,而无需在本地下载依赖包,非常适合学习、demo、原型开发
6583 0
|
关系型数据库 MySQL Linux
Docker 安装 MySQL8.0
Docker 安装 MySQL8.0
6081 0