0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在树莓派上模拟运行一个陀螺仪扫地机的设备

智能物联研习社 来源:智能物联研习社 作者:智能物联研习社 2021-01-25 14:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

扫地机器人是现在家庭中最常见的智能家居,因为它小巧便宜且好用,广受用户好评。可以说是懒人必备单品了~几乎每家每户都少不了一台扫地机器人。

本篇文章将说明在树莓派模拟运行一个陀螺仪扫地机的设备并连接涂鸦云。同事看了都羡慕系列,到底怎么轻松实现呢?来看看吧~

步骤如下

程序员给女友DIY一款陀螺仪智能扫地机,打工人看了都羡慕

//涂鸦陀螺仪地图传输协议typedefstruct{
uint8_tx;uint8_ty;uint8_ttype;
}ST_POT;/*坐标点类型*/enumenum_point_type
{
point_type_current=0x00,//当前点
point_type_barrier,//障碍点
point_type_cleaned,//已清扫点
point_type_charge,//充电桩};

第 3 步:涂鸦陀螺仪扫地机公版面板

程序员给女友DIY一款陀螺仪智能扫地机,打工人看了都羡慕

程序员给女友DIY一款陀螺仪智能扫地机,打工人看了都羡慕

2号 3号面板没有用到电源开关power功能点,创建产品时请删除

第 4 步:开发准备

产品创建

程序员给女友DIY一款陀螺仪智能扫地机,打工人看了都羡慕

硬件准备

树莓派采用 Raspberry Pi 3 Model B

硬件配置

调试方法

tuya@E480:~$sshroot@192.168.56.107root@192.168.56.107'spassword:Lastlogin:ThuOct2418:47:172019from192.168.56.100root@RasPi:~#

确认无线网卡支持的配网模式

root@RasPi:~#iwlist
Wiphyphy0Supportedinterfacemodes:无线网卡支持的工作模式*IBSS*managedstation客户端模式*AP无线接入点模式,这里可用于开发tuyasdk的ap配网*P2P-client*P2P-GO*P2P-device......省略其他信息

如上配置,这个网卡不支持sniffer模式,无法开发SmartConfig配网模式

第 5 步:基本实现思路

程序员给女友DIY一款陀螺仪智能扫地机,打工人看了都羡慕

第 6 步:软件开发说明

第 7 步:关键代码说明

设置网卡工作模式

//设置当前WIFI工作模式OPERATE_REThwl_wf_wk_mode_set(INCONSTWF_WK_MD_Emode){#ifdefined(USE_RASPI)
switch(mode){caseWWM_STATION:{
sys_shell("ifconfig%sdown",WLAN_DEV);
sys_shell("iwconfig%smodeManaged",WLAN_DEV);
sys_shell("ifconfig%sup",WLAN_DEV);
}break;caseWWM_SOFTAP:{//handleinhwl_wf_ap_start()
break;
}caseWWM_STATIONAP:break;default:break;
}#endif
returnOPRT_OK;
}

开启无线网卡热点

//AP配网模式下开启热点OPERATE_REThwl_wf_ap_start(INCONSTWF_AP_CFG_IF_S*cfg)
{PR_DEBUG("StartAPSSID:%s",cfg->ssid);#ifdefined(USE_RASPI)sys_shell("ifconfig"WLAN_DEV""DEFAULT_IP_ADDR);sys_shell("iwconfig%smodeManaged",WLAN_DEV);
kill_process("hostapd");kill_process("udhcpd");kill_process("wpa_supplicant");sys_shell("hostapd-B"HOSTAPD_CONF);sys_shell("udhcpd-f"UDHCPD_CONF"&");#endif
returnOPRT_OK;
}

关闭无线网卡热点

//AP配网模式下停止热点OPERATE_REThwl_wf_ap_stop(VOID)
{PR_DEBUG("StopApMode");#ifdefined(USE_RASPI)kill_process("hostapd");kill_process("udhcpd");#endif
returnOPRT_OK;
}

连接路由器

//使用指定SSID和PASSWD连接WIFIOPERATE_REThwl_wf_station_connect(INCONSTCHAR_T*ssid,INCONSTCHAR_T*passwd)
{PR_DEBUG("STAConAPssid:%spasswd:%s",ssid,passwd);#ifdefined(USE_RASPI)//UserTODO
sys_shell("sed-i'/ssid/c\\ssid="%s"'"WPA_SUPPLICANT_CONF,ssid);sys_shell("sed-i'/psk/c\\psk="%s"'"WPA_SUPPLICANT_CONF,passwd);//sys_shell("wpa_supplicant-Dnone-B-i"WLAN_DEV"-c"WPA_SUPPLICANT_CONF);//加Dnone不可行
sys_shell("wpa_supplicant-B-i"WLAN_DEV"-c"WPA_SUPPLICANT_CONF);sys_shell("udhcpc-i"WLAN_DEV);//sys_shell("dhclient"""WLAN_DEV);#endif
returnOPRT_OK;
}

获取当前WIFI联网状态

OPERATE_REThwl_wf_station_stat_get(OUTWF_STATION_STAT_E*stat){#ifdefined(USE_RASPI)
//UserTODO
NW_IP_Scurrent_ip;//上一次获取的ip
memset(¤t_ip,0,sizeof(current_ip));
hwl_wf_get_ip(WF_STATION,¤t_ip);if(strcmp(current_ip.ip,DEFAULT_IP_ADDR)){
*stat=WSS_GOT_IP;
}else{
*stat=WSS_CONN_FAIL;
}#else
*stat=WSS_GOT_IP;#endif
returnOPRT_OK;
}

心动不如行动系列:

auth.tuya.com/register?from=http%3A%2F%2Fiot.tuya.com%2F&_source=e74d60a1928993e1892f7e5efbaa5467

  • 第 1 步:陀螺仪扫地机原理简述

  • 第 2 步:涂鸦陀螺仪扫地机传输协议

  • 如下,从左到右边依次是 1号面板 2号面板 3号面板

  • 注册涂鸦开发者账号,并完成认证

  • 参考 选品类创建产品 创建一款扫地机产品,如下箭头所指为PID,为代码中的PRODUCT_KEY宏

  • ubuntu虚拟机开发环境搭建

  • 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主机和树莓派连接到同一路由器下

  • 小贴士:无线网

  • iw list命令可以查看linux系统设备下无线网卡详细信息

  • 这里不是一个真实的扫地机,从涂鸦云导出真实扫地机设备行走产生的地图坐标数据保存到磁盘文件

  • 代码里新增一个线程负责从文件定时读取数据上报涂鸦云,以在APP上展现机器行走的效果,如下

  • 陀螺仪扫地机为wifi单品开发,参考TUYA_IOT_SDK说明

  • 工具链获取,这里推荐一个第三方资源,涂鸦不提供芯片工具链。

  • demo源码获取

  • demo功能说明支持AP配网模式支持涂鸦陀螺仪三种陀螺仪面板支持设备OTA编译时可选是运行在ubuntu设备上还是树莓派

  • 代码位置:src/gyro_wifi_dev/tuya_iot_wifi_net.c

审核编辑:符乾江

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    213

    文章

    30629

    浏览量

    219720
  • 扫地机
    +关注

    关注

    0

    文章

    67

    浏览量

    5823
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    扫地机器人“叛变”了

    扫地机器人“叛变”了   电子发烧友网报道(文/黄山明)如今不少家庭都已经习惯了扫地机器人的便捷,相比自己每天亲自打扫,有了扫地机器人的清理显然要方便的多。但是怎么也没有想到,扫地机
    的头像 发表于 11-06 10:10 7639次阅读
    <b class='flag-5'>扫地机</b>器人“叛变”了

    【应用方案】“会呼吸”的扫地机器人:艾为灯语®让扫地机具有“生命力”

    晚间,扫地机随着音乐节奏在闪烁流动光效。孩子们跟着光斑跳舞,把清扫变成了家庭游戏。原来,光可以成为气氛的"调节器"。晨间,扫地机在餐桌下发现片饼干碎屑,立即投射出柔和的聚光灯圈
    的头像 发表于 09-25 19:09 317次阅读
    【应用方案】“会呼吸”的<b class='flag-5'>扫地机</b>器人:艾为灯语®让<b class='flag-5'>扫地机</b>具有“生命力”

    什么是光纤陀螺仪陀螺仪有哪些作用?

    陀螺仪是干什么用的?陀螺仪是用来感知和测量物体旋转的传感器。简单来说,它可以帮助设备知道自己当前的角度和运动方向。通常,我们会在智能手机
    的头像 发表于 08-26 17:36 1669次阅读
    什么是光纤<b class='flag-5'>陀螺仪</b>?<b class='flag-5'>陀螺仪</b>有哪些作用?

    低成本智能化:蓝牙模块方案让平价扫地机更便捷

    随着智能家居的快速发展,扫地机器人已逐渐成为家庭清洁的标配设备。为了提升用户体验和智能化程度,越来越多的厂商在扫地机器人中加入了无线通信功能。其中,蓝牙技术因其低功耗、低延迟、连接稳定等特点,成为
    的头像 发表于 07-18 15:11 665次阅读
    低成本智能化:蓝牙模块方案让平价<b class='flag-5'>扫地机</b>更便捷

    MEMS陀螺仪正在取代光纤陀螺仪

    、处理与输出。 MEMS陀螺如何“感知”旋转? 别被名字迷惑!现代MEMS陀螺仪并非依靠传统陀螺的旋转飞轮。其核心原理是科里奥利力。想象下: 芯片内部有微小的振动质量块(“驱动”方向
    的头像 发表于 07-08 16:45 651次阅读

    何在树莓派上安装并运行 Arduino 集成开发环境!

    ,我们将介绍如何在树莓派上安装并运行ArduinoIDE。所需物品要在树莓派上
    的头像 发表于 07-01 17:41 4064次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>树莓</b><b class='flag-5'>派上</b>安装并<b class='flag-5'>运行</b> Arduino 集成开发环境!

    中微半导扫地机器人解决方案介绍

    在现代智能家居领域,扫地机器人已成为家庭清洁的得力助手,扫地机器人的高效清洁离不开各类电机的协同运作,中微半导体(深圳)股份有限公司(以下简称:中微半导 股票代码:688380)基于电机控制芯片CMS32M6526系列提供扫地机
    的头像 发表于 06-26 16:16 2392次阅读
    中微半导<b class='flag-5'>扫地机</b>器人解决方案介绍

    振动陀螺仪传感器的工作原理

    陀螺仪传感器,也称为角速率传感器或角速度传感器,是种感测角速度的设备陀螺仪传感器种类繁多,比较常见的有机械陀螺仪,光学
    的头像 发表于 06-16 16:29 1027次阅读
    振动<b class='flag-5'>陀螺仪</b>传感器的工作原理

    以驱动芯片破解扫地机三大核心痛点

    设备的行走稳定性、续航时长与适配能力。钧敏科技深耕行业多年,主推英能的ZH6358 与必易微的KP93102 驱动芯片方案,正以硬核技术破解三大核心痛点,为扫地机厂商与用户带来双重革新。
    的头像 发表于 06-10 09:45 1023次阅读

    新视角解锁:树莓派“云”驾驶扫地机器人!

    。你是否曾在YouTube上看到过猫咪坐在Roomba扫地机器人上的热门视频,并幻想自己也能这么做?没有?只有我这么想吗?好吧,对我来说幸运的是,至少还有一个人也
    的头像 发表于 06-04 15:33 450次阅读
    新视角解锁:<b class='flag-5'>树莓</b>派“云”驾驶<b class='flag-5'>扫地机</b>器人!

    钧敏科技AM2355驱动芯片在扫地机器人中的应用

    在智能家居飞速发展的当下,扫地机器人已然成为众多家庭清洁的得力助手。其中,激光雷达作为扫地机器人实现精准导航与高效清洁的核心部件,其性能优劣直接关乎扫地机器人的使用体验。然而,在实际应用中,激光雷达面临着诸多挑战,这些问题也成为
    的头像 发表于 05-29 16:48 870次阅读

    精诚工科助力扫地机器人行业升级

    精诚工科助力扫地机器人行业升级近日,国内气密性检测与流量测试领域的领军企业——深圳精诚工科传来喜讯,成功向某知名品牌扫地机器人生产工厂交付了超过40台气密性检测及流量测试。此次大规
    的头像 发表于 04-09 11:00 756次阅读
    精诚工科助力<b class='flag-5'>扫地机</b>器人行业升级

    人脸识别指南:如何在树莓派上安装和设置 Dlib

    学习如何在树莓派上安装Dlib并配置人脸识别功能,为您的AI项目奠定基础。在树莓派上安装Dlib的详细步骤要为
    的头像 发表于 03-24 17:31 1284次阅读
    人脸识别指南:如<b class='flag-5'>何在</b><b class='flag-5'>树莓</b><b class='flag-5'>派上</b>安装和设置 Dlib

    高端扫地机器人市场销额第!追觅再创行业新标杆

    近日,追觅扫地机器人获得奥维云网“中国高端扫地机器人市场销额行业第”认证。根据渠道数据显示,追觅扫地机器人在2023-2024两年累计线上监测渠道5000元以上销售额排名第
    的头像 发表于 02-20 09:27 997次阅读