WIFI 未整理的垃圾

关于wpa_supplicant:
用到wpa_cli命令
wpa_cli -iwlan0
add_network            // wlan0 是无线网络设备的名字,增加一个网络,会返回一个数字,假设为1
set_network 1 ssid'"……"'   //这里ssid是要连接的网络名,注意 后面是单引号+双引号
set_network 1 psk'"……"'    //这里psk是密码
enable_network 1
select_network 1
save_config

dhclient -r wlan0
dhclient wlan0
//注意可能wlan0是down的状态,有时需要  ifconfig wlan0 up
或者/etc/init.d/networking restart
wpa_cli -iwlan0 scan
wpa_cli -iwlan0 scan_result
wpa_cli -iwlan0 status
sudo ifconfig wlan0 up
sudo ifconfig wlan0 192.168.1.126
应该能ping通局域网

 

wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B
wpa_supplicant.conf 可以在wpa_supplicant源码目录中找到:如下
ca wpa_supplicant
find -name *.conf ,不同的conf对用不同的加密方式

ps -aux |grep "wpa_supplicant"后会看到
/sbin/wpa_supplicant -B -P /run/sendsigs.omit.d/wpasupplicant.pid-u -s -O /var/run/wpa_supplicant

 

//wpa_wpa2.conf文件
ctrl_interface=/var/run/wpa_supplicant
network={
 ssid="网络名"
 psk = "密码"
}
重启网络:/etc/init.d/networking restart
添加路由:route add default gw 192.168.1.1
添加DNS :/etc/resolv.confnameserver 192.168.1.1


sudo killall wpa_supplicant
会提示
Delete '/var/run/wpa_supplicant/wlan0' manually if it is not usedanymore
执行sudo rm /ver/run/wpa_supplicant
就可以成功执行sudo wpa_supplicant -Dwext  -iwlan0-c/wpa_wpa2.conf -B

不加 -B 会打印如下内容
<3>Trying to associate with bc:d1:77:f6:9f:26(SSID='xiaofengche' freq=2437 MHz)
<3>Associated with 00:00:00:00:00:00
<3>CTRL-EVENT-DISCONNECTED bssid=bc:d1:77:f6:9f:26reason=0
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>Trying to associate with bc:d1:77:f6:9f:26(SSID='xiaofengche' freq=2437 MHz)
<3>Associated with 00:00:00:00:00:00
<3>CTRL-EVENT-DISCONNECTED bssid=bc:d1:77:f6:9f:26reason=0
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE     //
写错用户名 的反应 (fengche)
ioctl[SIOCSIWSCAN]: Device or resource busy
wlan0: Failed to initiate AP scan
ioctl[SIOCSIWSCAN]: Device or resource busy
wlan0: Failed to initiate AP scan

 

编译并安装无线驱动    //参考http://omappedia.com/wiki/Android_Mac80211
①WLAN Driver build instruction
cd $MYDROID/hardware/ti/wlan/mac80211/compat_wl18xx
 export KLIB=/path/to/kernel
 export KLIB_BUILD=/path/to/kernel
 export ARCH=arm
 exportCROSS_COMPILE=arm-none-linux-gnueabi-
 make

②Target file system setup
cd $MYDROID/hardware/ti/wlan/mac80211/compat_wl12xx
cp ./compat/compat.ko $OUT/system/lib/modules/
cp ./net/wireless/cfg80211.ko $OUT/system/lib/modules/
cp ./net/mac80211/mac80211.ko $OUT/system/lib/modules/
cp ./drivers/net/wireless/wl12xx/wl12xx.ko$OUT/system/lib/modules/
cp ./drivers/net/wireless/wl12xx/wl12xx_sdio.ko$OUT/system/lib/modules/

③WLAN firmware
Firmware files go to following location on target filesystem.
/system/etc/firmware/ti-connectivity/


④WLAN Calibration Instruction
 copy wl1271-nvs.bin from file system forback-up  底下会删除它
 Follow the procedure below on target device tocalibrate Wi-Fi
 mount -o remount rw /system
 2) Remove old NVS file
 rm/system/etc/firmware/ti-connectivity/wl1271-nvs.bin
 3) Set the following parameters:
 exportTARGET_FW_DIR=/system/etc/firmware/ti-connectivity
 exportTARGET_NVS_FILE=$TARGET_FW_DIR/wl1271-nvs.bin
 exportWL12xx_MODULE=/system/lib/modules/wl12xx_sdio.ko
 exportTARGET_INI_FILE=/system/etc/wifi/TQS_S_2.6.ini

 

4) Execute Calibrator command
 # calibrator plt autocalibrate []
 # dev: Device name. i.e. wlan0
 # module path: Full path to wl12xx_sdio.ko kernelmodule
 # ini file: Full path to Radio param ini filei.e. TQS_S_2.6.ini in this case
 # nvs file: Full path of nvs file. i.e.wl1271-nvs.bin. Must be the real path as wl12xx will load it
 # mac addr: MAC address to program into the NVSfile [optional]
 
 calibrator plt autocalibrate wlan0 $WL12xx_MODULE$TARGET_INI_FILE $TARGET_NVS_FILE
 or
 calibrator plt autocalibrate wlan0 $WL12xx_MODULE$TARGET_INI_FILE $TARGET_NVS_FILE 08:00:12:34:56:78

<think>好的,我现在需要帮助用户解决关于工创赛智能垃圾桶开发设计的问题。用户可能是在准备参加全国大学生工程实践和创新能力大赛,需要了解如何设计和开发智能垃圾桶项目。我需要结合用户提供的四个引用资料,整理出相关的设计要点、硬件选型、功能实现以及注意事项。 首先,根据引用[1]和[2],项目需要硬件和软件的结合,比如使用开发板如树莓派或STM32,可能涉及嵌入式系统和物联网的应用。引用[3]和[4]提到了具体的实现,比如移动模式、清洁模式、视觉识别和机械结构设计,还有比赛中可能遇到的问题,比如树莓派死机导致的程序崩溃,需要注意系统稳定性。 接下来,我需要组织回答的结构,分步骤说明设计流程、硬件选型、功能模块、软件开发等。同时,要提醒用户注意识别算法的优化和系统稳定性,这在引用[4]中提到了高识别率但比赛中的故障问题。 可能还需要考虑机械结构的设计,比如双层履带分拣,以及远程控制功能,如引用[3]提到的客户端控制。此外,引用[2]提到结构设计的改进,比如密封环境和滑道设计,这些都是需要注意的细节。 最后,要生成相关问题,帮助用户进一步思考,比如硬件选择、识别算法优化、稳定性措施等。确保回答符合用户的需求,结构清晰,引用相关文献,并符合系统级指令中的格式要求,比如数学公式的正确使用和引用标注。</think># 工创赛智能垃圾桶开发设计指南 ## 一、系统设计框架 智能垃圾桶系统需融合**嵌入式开发+物联网+机械自动化**三大模块,采用$树莓派/STM32+传感器+执行机构$的典型架构(引用[3][4])。核心功能实现流程: $$ \begin{aligned} &1.\ 检测触发 \rightarrow 2.\ 图像采集 \rightarrow 3.\ AI识别 \\ &\rightarrow 4.\ 分类执行 \rightarrow 5.\ 状态反馈 \end{aligned} $$ ## 二、硬件选型建议 1. **主控单元** - 视觉识别层:树莓派4B(8G内存)运行OpenCV/YOLO算法[^4] - 执行控制层:STM32F103ZET6通过PWM控制电机 - 备选方案:鸿蒙开发板实现端侧AI[^1] 2. **传感器矩阵** - 人体感应:HC-SR501红外模块 - 称重检测:HX711压力传感器 - 环境监测:DHT11温湿度传感器[^3] 3. **执行机构** - 履带分拣:42步进电机+TB6600驱动器 - 桶盖控制:SG90舵机 - 移动底盘:L298N电机驱动+编码器[^3] ## 三、关键技术实现 1. **视觉识别系统** - 数据集构建:采用$COCO\_dataset \cup 自建垃圾图像库$ - 模型优化:基于YOLOv5的剪枝量化(准确率>90%时模型大小<5MB) - 部署示例: ```python # 树莓派端推理代码框架 import cv2 from tensorflow.lite.python.interpreter import Interpreter def garbage_detect(frame): interpreter = Interpreter(model_path="mobilenet_v2.tflite") input_details = interpreter.get_input_details() interpreter.set_tensor(input_details[0]['index'], frame) interpreter.invoke() return interpreter.get_tensor(output_details[0]['index']) ``` 2. **机械结构设计** - 双层交叉履带分拣机构(处理效率$\geq 20$件/分钟) - 滑道阻尼控制:采用$\mu = 0.3$的聚四氟乙烯材料[^2] - SolidWorks建模要点: - 执行机构工作空间分析 - 碰撞检测与运动仿真 3. **物联网系统** - 通信协议:MQTT over WiFi/4G - 远程控制功能栈: ``` Android App ←MQTT→ 树莓派 ←UART→ STM32 ``` ## 四、开发注意事项 1. **系统稳定性** - 电源管理:建议采用$5V\ 10A$开关电源独立供电 - 看门狗电路:硬件WDT+软件心跳包双保险[^4] - 温度控制:当$T > 45^\circ C$时启动散热风扇[^3] 2. **竞赛优化技巧** - 构建$3:1$的实物演示比例模型 - 准备故障恢复模式(如引用[4]的树莓派崩溃问题) - 设计可更换的模块化机械结构
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值