这里说明在树莓派上模拟运行一个陀螺仪扫地机的设备并连接涂鸦云。
步骤
第 1 步:陀螺仪扫地机原理简述
![2241678cc19393c0cde9184e48c4c809.png](https://img-blog.csdnimg.cn/img_convert/2241678cc19393c0cde9184e48c4c809.png)
第 2 步:涂鸦陀螺仪扫地机传输协议
// 涂鸦陀螺仪地图传输协议
typedef struct
{
uint8_t x;
uint8_t y;
uint8_t type;
} ST_POT;
/@@ 坐标点类型 /
enum enum_point_type
{
point_type_current = 0x00, // 当前点
point_type_barrier, // 障碍点
point_type_cleaned, // 已清扫点
point_type_charge, // 充电桩
};
第 3 步:涂鸦陀螺仪扫地机公版面板
如下,从上到下依次是 1号面板 2号面板 3号面板
![1bc908e07f0ee7094b1b6de4b898a630.png](https://img-blog.csdnimg.cn/img_convert/1bc908e07f0ee7094b1b6de4b898a630.png)
![bd4a6576667d28e27edbf9932c460393.png](https://img-blog.csdnimg.cn/img_convert/bd4a6576667d28e27edbf9932c460393.png)
![7c81f5a41cb7de8f0875231d3100f76f.png](https://img-blog.csdnimg.cn/img_convert/7c81f5a41cb7de8f0875231d3100f76f.png)
2号 3号面板没有用到电源开关power功能点,创建产品时请删除
第 4 步:开发准备
产品创建点击注册 涂鸦IoT开发平台
并完成认证
创建扫地机产品,如下箭头所指为PID,为代码中的PRODUCT_KEY宏
![59f7c82ae07db9ec96852ebba64e8e09.png](https://img-blog.csdnimg.cn/img_convert/59f7c82ae07db9ec96852ebba64e8e09.png)
硬件准备 树莓派采用 Raspberry Pi 3 Model B
![e60b0f07905e60c6751f2a9d2d0a26ca.png](https://img-blog.csdnimg.cn/img_convert/e60b0f07905e60c6751f2a9d2d0a26ca.png)
硬件配置
Quad Core 1.2GHz Broadcom BCM2837 64bit CPU
1GB RAM
BCM43438 wireless LAN,开发配网,连接到涂鸦云
Bluetooth Low Energy (BLE) on board
100 Base Ethernet,用于ssh登录开发板调试用
调试方法
为方便,直接在ubuntu虚拟机的Terminal通过ssh登录到树莓派开发板上调试。
操作方法:树莓派网口和路由器的lan口相连,登录路由器获取树莓派ip地址,我这里为192.168.56.107;ubuntu虚拟机网络设置为桥接模式,PC主机和树莓派连接到同一路由器下
tuya@E480:~$ ssh root@192.168.56.107
root@192.168.56.107’s password:
Last login: Thu Oct 24 18:47:17 2019 from 192.168.56.100
root@RasPi:~#
确认无线网卡支持的配网模式
小贴士:无线网
iw list命令可以查看linux系统设备下无线网卡详细信息
root@RasPi:~# iw list
Wiphy phy0
Supported interface modes: 无线网卡支持的工作模式
* IBSS * managed station客户端模式 * AP 无线接入点模式,这里可用于开发tuyasdk的ap配网 * P2P-client * P2P-GO * P2P-device......省略其他信息
如上配置,这个网卡不支持sniffer模式,无法开发SmartConfig配网模式
第 5 步:基本实现思路
这里不是一个真实的扫地机,从涂鸦云导出真实扫地机设备行走产生的地图坐标数据保存到磁盘文件
代码里新增一个线程负责从文件定时读取数据上报涂鸦云,以在APP上展现机器行走的效果,如下
![8a3581053ab9d9cf0580d57a2c21abdd.png](https://img-blog.csdnimg.cn/img_convert/8a3581053ab9d9cf0580d57a2c21abdd.png)
第 6 步:软件开发说明
陀螺仪扫地机为wifi单品开发,参考TUYA_IOT_SDK说明
工具链获取,这里推荐一个第三方资源,涂鸦不提供芯片工具链。
demo源码获取
demo功能说明
支持AP配网模式
支持涂鸦陀螺仪三种陀螺仪面板
支持设备OTA
编译时可选是运行在ubuntu设备上还是树莓派
...