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

审核编辑:符乾江

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

    关注

    211

    文章

    28521

    浏览量

    207530
  • 扫地机
    +关注

    关注

    0

    文章

    60

    浏览量

    5215
收藏 人收藏

    评论

    相关推荐

    扫地机器人应用解决方案

    扫地机器人,作为智能家居设备的新兴代表,近年来广泛受到年轻人的青睐和重视,已经逐渐成为家庭及办公环境中的必需品。随着各地落实新轮消费品以旧换新政策,家电市场的换新需求被激活,根据奥维云数据显示
    的头像 发表于 11-01 14:03 402次阅读
    <b class='flag-5'>扫地机</b>器人应用解决方案

    云鲸J5扫地机,养宠家庭不可错过的款全能扫地机

    ……睁眼就是干不完的家务,幸亏我入手了云鲸款新出的扫地机器人——云鲸J5,它为我省了不少功夫。 云鲸J5吸力高达15000Pa,以往家里用的扫地机7000Pa就已经能轻松吸除地面上的灰尘、毛发了,用上了1500Pa大吸力的
    的头像 发表于 10-28 14:02 198次阅读

    霍尔开关在扫地机器人中的应用

    随着社会的发展和生活水平的提高,扫地机器人因为操作简单,使用方便越来越多地走进了人们生活,和家庭,办公联系在了起,成为了小家电中重要的员,霍尔开关在扫地机器人中也有着诸多应用。 1
    的头像 发表于 10-28 11:03 233次阅读

    INDEMIND扫地机器人的核心技术

    扫地机器人内卷的终点是技术和价值,价格只是附属品。
    的头像 发表于 09-30 14:50 538次阅读

    扫地机器人的核心技术突破

    关键的技术节点。 首先,我们来了解下什么是 HXA2610 有刷马达驱动 IC。简单来说,它就像是扫地机器人的“动力心脏”,负责为马达提供精准、稳定且高效的驱动信号。这
    的头像 发表于 09-06 17:38 407次阅读

    供应 英集芯IP2348,适用于扫地机器人解决方案的锂电池同步降压充电芯片

    电压,能够同步降压模式独立充电1~6节串联锂电池,确保机器人在各种工作场景下都能稳定运行。IP2348不仅适用于扫地机器人,更是电动工具、对讲机等设备领域的理想选择。其混合动力升压模式可输出4.5V
    发表于 07-24 14:47

    爱普生新款陀螺仪传感器GGPM01LK于扫地机器人的应用

    在电子技术的不断发展下,人们对于机器人的要求越来越高,导致企业对机器人的设计和性能要求也变得严格起来。就扫地机器人而言,对于其姿态控制和运动稳定性的要求非常严格。针对如今严格的要求,爱普生推出了款令人称道的陀螺仪传感器这款新产
    的头像 发表于 05-09 15:39 1033次阅读
    爱普生新款<b class='flag-5'>陀螺仪</b>传感器GGPM01LK于<b class='flag-5'>扫地机</b>器人的应用

    其利天下技术·搭载无刷电机的扫地机器人的前景如何?

    随着懒人经济的崛起,智能家居设备的需求呈现出显著的增长态势。作为智能家居领域的员,扫地机器人因其方便、实用的特性而备受消费者青睐。特别是在无刷电机技术的加持下,扫地机器人不仅提升了清
    发表于 05-05 15:03

    陀螺仪x轴和y轴的应用

    陀螺仪种用于测量和感应物体旋转和转动的设备,它通常由三轴组成:x轴、y轴和z轴。在陀螺仪中,x轴和y轴通常成对出现,关于它们的比例可以
    发表于 04-17 15:42 0次下载

    鸿蒙南向开发实战:【智能扫地机

    此Demo采用润和的智能小车套件为硬件模型,通过修改代码具备了扫地机器人简易的避障功能及防跌落功能,并且能通过wifi接入数字管家应用场景。智能扫地机不仅能接收数字管家应用下发的指令启动或停止扫地机
    的头像 发表于 04-08 10:23 946次阅读
    鸿蒙南向开发实战:【智能<b class='flag-5'>扫地机</b>】

    用于AGV物流机器人的爱普生陀螺仪传感器XV7000系列:XV7001BB,XV7011BB

    适用于AGV物流机器人的爱普生陀螺仪传感器XV7000系列:XV7001BB,XV7011BB。以前我们都知道XV7001BB,XV7011BB适用于扫地机器人,其实对于AGV物流机器人来说
    的头像 发表于 04-02 13:53 542次阅读
    用于AGV物流机器人的爱普生<b class='flag-5'>陀螺仪</b>传感器XV7000系列:XV7001BB,XV7011BB

    陀螺仪传感器,IMU和加速度计的产品和选型

    爱普生陀螺仪传感器是种角速度传感器,作为种石英电子式陀螺仪芯片,具有温度特性好、功耗低、成本低、稳定性好等特点。目前EPSON主力单轴陀螺仪
    的头像 发表于 04-01 16:41 956次阅读
    <b class='flag-5'>陀螺仪</b>传感器,IMU和加速度计的产品和选型

    文探秘MEMS陀螺仪工作原理与特性

    陀螺仪,又叫角速度传感器,是用高速回转体的动量矩敏感壳体相对惯性空间绕正交于自转轴的或二轴的角运动检测装置,同时,利用其他原理制成的角运动检测装置起同样功能的装置也称
    的头像 发表于 02-20 11:41 1680次阅读
    <b class='flag-5'>一</b>文探秘MEMS<b class='flag-5'>陀螺仪</b>工作原理与特性

    手机陀螺仪失灵解决方法

    手机陀螺仪种用于感知和测量设备旋转、倾斜和方向的传感器。失灵的陀螺仪可能导致手机在运动控制、游戏和导航等应用中出现问题。下面将详细介绍陀螺仪
    的头像 发表于 01-30 10:06 2.9w次阅读

    陀螺仪x和y比例是多少 陀螺仪x轴和y轴是指什么

    陀螺仪种用于测量和感应物体旋转和转动的设备,它通常由三轴组成:x轴、y轴和z轴。在陀螺仪中,x轴和y轴通常成对出现,关于它们的比例可以
    的头像 发表于 01-17 11:10 2133次阅读