资讯详情

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

树莓派如何与物联网平台互动(搭建树莓派网关)(1)

一、功能描述

覆盆子网关向涂鸦云平台收集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),ttyS其特点是工作时钟来自CPU,CPU时钟从6000开始MHZ到1.5Ghz动态变化,所以这个串口经常因为时钟频率的变化而出错,所以我没有用这个串口和子设备通信。serial1(与板载蓝牙相连)映射ttyAMA0,ttyAMA0是硬件串口,时钟频率不受影响CPU因此,以下树莓派和子设备通信采用硬件串口(ttyAMA0)。 硬件串口通过配置交换映射关系ttyAMA0映射到(GPIO14,GPIO15)上。

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

6. 门磁开关(485通信)

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

三、硬件连接

四、登录树莓派

没有屏幕,树莓派电脑必须通过网络登录和控制,因此必须有网络支持。我们可以通过手机打开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 开发平台创建产品,获取授权信息,然后将产品和授权相关信息写入代码,实现涂鸦云的访问,具体步骤如下:

创建网关设备

  • 登录涂鸦 IoT 工作台后,单击 并选择 >>品类。

  • 选择TuyaLink定制方案,输入产品名称,设备类型选择网关设备,数据协议选择涂鸦标准协议,通信协议选择以太网,点击创建产品。

  • 界面,单击 并填写相关参数,完成产品功能定义。(根据要实现的设备功能创建DP功能点)

  • 选择并下载界面 SDK 方案,单击 进入激活信息获取页面。

  • 涂鸦为测试提供免费授权代码,您可以免费获得 2 获得激活码后,点击注册设备,即完成设备注册,并在下面显示设备的相应信息

  • 填写注册设备信息 examples/data_model_basic_demo/data_model_basic_demo.c 编译并运行文件 Demo 您可以连接涂鸦云。请参考以下编译过程 章节内容。

    改之前: 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,更改设备密钥。 

创建485子设备

  • 子设备的创建与上面相同,只有在操作到下图的步骤时,才能根据下图的变化。

  • 创建子设备后,如下图所示,在创建网关设备时,DP点已经创建,这里不需要再创建。

标签: iot门磁传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台