0


树莓派如何与物联网平台交互(搭建一个树莓派网关)(一)

树莓派如何与物联网平台交互(搭建一个树莓派网关)(一)

一、功能描述

​树莓派网关采集485温湿度传感器以及485门磁开关状态数据上报到涂鸦云平台;同时收到云端的指令,树莓派网关处理之后,控制继电器动作,同时继电器返回当前的状态给云端。

树莓派与涂鸦云平台交互代码:demo1下载地址
树莓派与485子设备通信代码: demo2下载地址

二、硬件准备

  1. 树莓派(Pi4B)image-20211227142351286

​树莓派有两个串口可以使用,一个是硬件串口(/dev/ttyAMA0),另一个是mini串口(/dev/ttyS0)。硬件串口有单独的波特率时钟源,性能好,稳定性强;mini串口功能简单,稳定性较差,波特率由CPU内核时钟提供,受内核时钟影响。树莓派(3/4代)板载蓝牙模块,默认的硬件串口是分配给蓝牙模块使用的,而性能较差的mini串口是分配给GPIO串口 TXD0、RXD0。

​在默认状态下,serial0(就是GPIO14,GPIO15)是映射到ttyS0的(就是mini串口:/dev/ttyS0),ttyS0的特点是其工作时钟来自于CPU,CPU的时钟呢又是从600MHZ到1.5Ghz动态变化的,所以这个串口经常会因为时钟频率发生变化而发生错误,因此下面我没有用此串口和子设备通信。serial1(跟板载蓝牙相连)映射到ttyAMA0,ttyAMA0是硬件串口,它的时钟频不受CPU影响,因此下面树莓派和子设备通信采用了硬件串口(ttyAMA0)。
通过配置交换映射关系,把硬件串口ttyAMA0映射到(GPIO14,GPIO15)上。

最终映射结果可以通过执行命令:ls -l /dev来查看,发现串口 ttyAMA0设备节点以及ttyS0设备节点已经交换。
image-20211209202259005
2. 485转TTL模块
image-20211209194925485
DIR这个管脚控制485转TTL模块发送与接收的,当DIR高电平的时候为发送模式,当DIR为低电平的时候为接收模式。
3. 路由器(可选)
树莓派可以连接路由器,也可以连接手机WIFI热点,打开SSH服务。(具体可以参照下面所述登陆树莓派的方法)
4. 继电器模块(485通信)
image-20211209175146820
5. 温湿度传感器(485通信)

image-20211209175351054
6. 门磁开关(485通信)

​ Modbus-Rtu 9600
image-20211209185744393
7. 电源设备(使用树莓派配置的电源插座即可)

三、硬件连接

image-20211209194820451

四、登陆树莓派

​ 如果没有了屏幕,就必须通过网络来登录和控制树莓派电脑,因此必须要有网络支持。我们可以通过手机开WiFi热点,然后修改树莓派的配置文件来连接手机网络,并且打开SSH服务(笔记本电脑也要连接手机的WiFi热点)或者把树莓派通过网线连接到路由器,电脑连接路由器的无线网,使得树莓派和电脑在一个局域网内,并且打开SSH服务。下面分享两种基于SSH网络登陆树莓派的方式。

1、利用路由器搭建局域网登陆树莓派

​ (1)用路由器搭建局域网,电脑无线或有线方式连接路由器,树莓派用网线连接路由器。一般来说,Raspberry会配置为DHCP,自动获取IP。
​ (2)登陆路由器,查看Raspberry的IP地址,在电脑的CMD下ping该IP地址,能够ping通。
​ (3)在SSH客户端输入该IP和端口号22,登陆Raspberry,输入用户名和密码即可。

2、电脑无线端口共享给有线端口登陆树莓派

​ 当没有路由器或者已连接但无法知道树莓派的确切IP怎么办,可以通过电脑的双网卡进行分配。一般来说,现在的电脑都支持双网卡,一个有线一个无线,那么可以直接将网线把电脑网口和树莓派网口连接起来,配置电脑的无线接口共享给有线网卡,并对有线网卡进行网络共享。前提是需要设置有线网卡的IPV4为DHCP模式。具体步骤如下:

​ (1)打开“网络和Internet”选项->更改适配器选项->WLAN属性->共享->允许其他用户通过此计算机的Internet连接来连接->选择有线网卡。( 手机开WIFI热点连接时,选择以太网。)
​ (2)设置有线网卡IPv4自动获取IP
​ (3)cmd 输入arp -a 查看以192.168.137.1 为网关的列表中出现的树莓派端口,通过插拔网线的方式,看多了哪一个IP,那个就是树莓派的IP。
​ (4)启用ssh,端口22, 访问ip为192.168.137.239
​ (5)连接SSH,输入用户名和密码即可。

五、产品创建

需要在涂鸦 IoT 开发平台创建产品,获取授权信息,然后将产品和授权相关信息写入到代码中,实现接入涂鸦云,详细步骤如下:

1、网关设备的创建

  • 登录涂鸦 IoT 工作台后,单击 创建产品 并选择 行业解决方案>智慧工业>工业网关品类。
  • image-20211208185731565image-20211208185524599
  • 选择TuyaLink自定义方案,输入产品名称,设备类型选择网关设备,数据协议选择涂鸦标准协议,通讯协议选择以太网,点击创建产品。image-20211208190037377
  • 功能定义 界面,单击 添加功能 并填写相关参数,完成产品功能定义。(根据要实现的设备功能,创建好DP功能点)image-20211208190443409image-20211208191935401
  • 设备开发 界面,选择并下载 SDK 方案,单击 下一步 进入激活信息获取页面。image-20211208190641894
  • 涂鸦提供免费的授权码供测试使用,您可以免费领取 2 个激活码,领取成功后,点击注册设备,即完成设备注册,设备相应信息会显示在下方
  • TuyaLink SDK V1.0TuyaLink SDK V1.0
  • 将注册的设备信息,填写到 examples/data_model_basic_demo/data_model_basic_demo.c 文件中,编译并运行 Demo 即可连接涂鸦云,关于编译的具体流程,请参考下文 编译执行 章节内容。TuyaLink SDK V1.0改之前:const char productId[] = "3jbcpefnn1jxxxxx";const char deviceId[] = "6ced2aa564727c01xxxxx";const char deviceSecret[] = "ac5d367db39xxxxx";改之后:const char productId[] = "t1tlm6p13aoxxxxx";const char deviceId[] = "6cf918e90b12f7b1fxxxxx";const char deviceSecret[] = "a5f23a3fb34xxxxx";注意:根据自己创建的网关产品PID,设备ID,设备密钥进行更改。

2、485子设备的创建

  • ​ 子设备的创建同上,只有操作到如下图的步骤时,按照下图圈出来的更改即可。image-20211208194648196
  • 子设备创建完成后如下图,在网关设备创建的时候,DP点已经创建,这里不需要再创建。

image-20211208194853505

image-20211208195141182

image-20211208195201331

标签: 物联网 交互 iot

本文转载自: https://blog.csdn.net/sandwich_iot/article/details/122194669
版权归原作者 三明治开发社区 所有, 如有侵权,请联系我们删除。

“树莓派如何与物联网平台交互(搭建一个树莓派网关)(一)”的评论:

还没有评论