X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
NXP MCU
[原创] 【基于KW41Z的环境传感器】第3贴 - Raspberrypi 3 model B配置BLE读取KW41Z的数据
liyuyao001
2017-7-22 01:07
楼主
1.修改OTP,使能MSD功能,从U盘启动系统。
拿到新的Raspberrypi 3 model B之后,想装个NOOBS/Raspbian系统,结果最新版的系统要求8GB以上的TF卡才能装带图形界面的Raspbian.
我手上能找到的最大的TF卡只有4GB……好在新的BCM2837支持MSD(Mass Storage Device)启动,也就是说可以把系统装在U盘里面,这样还不用担心TF卡经常写入导致损坏。
方法很简单明了,按照步骤一步一步来就行:
https://www.raspberrypi.org/blog/pi-3-booting-part-i-usb-mass-storage-boot/
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md
总结起来就是,先下载一个Raspbian Lite系统,用Etcher烧写到4GB的小TF卡中(实际上最小2GB的就够了),之后进入系统,修改
/boot/config.txt文件,在最后添加一行program_usb_boot_mode=1
,这个命令在系统启动时候写入一个OTP Flag,使能Pi 3B的MSD启动功能。然后,按照正常步骤,把带图形界面的Raspbian用Etcher烧写进U盘就可以把TF卡收起来,单独用U盘启动了。
如果希望用更小的TF卡来启动U盘里面的系统,那么就需要参考Pi 2之类的教程了,这样的不足之处是TF卡还是不能不用,就是系统放在U盘里面,TF卡只是boot的引导程序。这样做的话,参考下面两个网页:
http://hugozhu.myalert.info/2015/03/05/56-boot-raspberrypi-from-16m-sdcard-and-install-raspbian-on-usb-sticker.html
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/
2.安装必要的工具,虚拟键盘,使能SSH和VNC的远程访问
因为树莓派新装的系统需要鼠标,键盘,HDMI显示器,但是不能总是用键盘加显示器来给树莓派干活啊,所以需要使能SSH,通过Putty等终端来登陆。
方法网上搜就能找到,我参考的是这个:
https://www.raspberrypi.org/documentation/remote-access/ssh/
下图是使用Putty通过SSH登陆Pi 3 model B
然后是VNC
https://www.raspberrypi.org/documentation/remote-access/vnc/README.md
还有这个
https://sspai.com/post/37363
考虑到家里没有键盘,所以想把树莓派连上电视机和鼠标,通过一个虚拟键盘输入密码,连上WiFi。
参考这个连接:
http://www.yoyojacky.com/archives/328
不过后来证明不需要这么干,因为我可以访问我家的路由器,所以,我只需要一根网线,连上路由器,然后登陆路由器得知其IP地址,然后,就可以通过VNC来登陆Pi,然后输入WiFi密码了。
下图是用VNC Viewer登陆 Pi 3B:
3.安装Bluetooth LE的相关工具,BlueZ,以及BlueZ的Python封装接口后的Bluepy
参考
http://www.cnblogs.com/vamei/p/6753531.html
http://www.wowotech.net/bluetooth/bluepy_scan.html
http://www.elinux.org/RPi_Bluetooth_LE
我试了bleno和noble的example,运行正常。
运行bleno的pizza示例
sudo node node_modules/bleno/examples/pizza/peripheral
用手机的LightBlue,可以看到一个名为raspberrypi的BLE外设
4.通过BLE连接KW41Z并获取数据
主要用到了几个命令: blueZ的bluetoothctl命令,以及blueZ的
hcitool & gatttool
首先,运行bluetoothctl
然后,在buetoothctl的界面内输入devices命令,可以列出搜索到的BLE设备。
这个会话打开着不要关,如果BLE的连接状态有变化,可以看到通知
然后,打开一个新的会话,使用gatttool命令连接KW41Z
可以先用sudo blescan 或者sudo hcitool lescan命令扫描BLE,获取MAC地址,然后,用gatttool连接上
这个时候,在另外那个运行着bluetoothctl的窗口中,可以看到设备已连接
之前曾经试了好久,用gatttool 连接总是提示设备忙 Error:Connect: Device or resource busy (16)
后来发现,用bluetoothctl disconnect一下,然后就好了,虽然之前并没有连接,但是不知道为什么gatttool连接不上。
用gatttool连接上之后,运行char-desc 可以看descriptor
这么多,不知道哪个是哪个……
对比LightBlue的UUID:
可以知道,电池电量的UUID是0x2A19, 当前温度的notification UUID是0x2A1E
使用gatttool可以读出电量的信息,但是无法读出温度
因为温度属于notification,是需要打开一个开关,来使能接收的。
在网上找到了这个
https://stackoverflow.com/questions/15657007/bluetooth-low-energy-listening-for-notifications-indications-in-linux
gatttool 输入
char-read-uuid 2902,列出 CCC (Client Characteristic Configuration) 属性
网上说“You can try setting them all to 0100 to get notifications, 0200 for indications, 0300 for both, or 0000 for everything off”
所以,退出gatttool的交互命令,然后输入
gatttool -b 00:60:37:00:00:07 --char-write-req --handle=0x0018 --value=0100 --listen
同样,可以不在交互模式下用gatttool来读取电量
gatttool -b 00:60:37:00:00:07 --char-read --handle=0x0020
至此,可以用命令来读到传感器的数据了。
此内容由EEWORLD论坛网友
liyuyao001
原创,如需转载或用于商业用途需征得作者同意并注明出处
本帖最后由 liyuyao001 于 2017-7-24 23:48 编辑
点赞
回复评论 (3)
沙发
liyuyao001
占沙发
可能图片会挂掉,我正在想办法,因为我试过从world粘贴过来图片会挂掉,图又比较多,不想一张一张传到论坛再一张一张插进来。所以,我先把world的所有内容,写在了有道云笔记里,然后再粘贴过来,我自己能看到,以为这样别人也能看到……
有知道怎么解决的同学请教我一下。
点赞
2017-7-22 01:10
板凳
liyuyao001
重新一张张上传到了论坛,这回图片正常了
点赞
2017-7-24 23:49
4楼
soso
引用:
liyuyao001 发表于 2017-7-24 23:49
重新一张张上传到了论坛,这回图片正常了
不好意思 ,来晚啦
下次可以试试红框的功能,远程下载图片,从网页过来的图片,可以直接下载下来
加油!在电子行业默默贡献自己的力量!:)
点赞
2017-7-25 16:36
最新活动
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
PI 电源小课堂|无 DC-DC 变换实现多路高精度输出反激电源
2024 瑞萨电子MCU/MPU工业技术研讨会——深圳、上海站, 火热报名中
随便看看
我的易电源周计划
新手求问uCOS3 配套的开发版stm32f107能用jlink v8的调试器不?
串口转USB,再USB转串口。信号变了吗?
Stellaris——哪个功能令你痴迷?
修改DHCP的程序的问题
EEWORLD大学堂----直播回放: Microchip 安全系列17 - 预配置Wi-Fi? MCU加快产品上市,简化生产
请问用LM358做BUCK电路的低边电流采样!
为什么USB-KW41Z连接到电脑上与FRDM-KW41Z显示的不一样?
【国民技术 N32 MCU 开发资料包】--N32G030系列
连接调试问题
国内MCU厂商也开始卷卷卷了
【我的电子技术入门之路】入门谈何容易
taskSpawn( )的详解
图说微电子最前沿:最好的绝缘介质是什么?-就是什么介质都没有
【转】LoRaWAN 规范 1.0 (6)
LED 照明的电源拓扑结构
很好很强大,325lm的LED已经开发出来了
摄像机部件中英文对照
ST电机套件评测
有没有作过取交流同步信号的朋友
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复