1. 笔记本连接树莓派
因为我没有显示屏等设备,所以用笔记本代替。我尝试的是用网线的方式连接。
如果是初次使用这个连接方式,需要用读卡器读树莓派的系统卡,往里面放入一个ssh的空文件夹。
首先要用网线连接笔记本和树莓派,连接完后才给树莓派通电开机。在笔记本打开:设置->控制面板->网络和Internet->网络连接->以太网->属性->共享,勾选 “允许其他网络用户通过此计算机的Internet连接来连接”。
打开cmd,输入arp -a查看树莓派的ip地址(是动态的,末尾不是255,如果分辨不清,可以在不连树莓派前查看一次,连完之后再查看一次对比结果)
用putty连接,在红线区域填入树莓派的ip地址。然后就可以登入树莓派,用户名:pi,密码:Raspberry或者raspberry。
如果不满于简单命令行操作,也可以使用图形化界面操作树莓派。在 以上基础上,使用vncserver。
sudo nano /etc/init.d/vncserver
写入vnc配置信息如下。
#!/bin/sh
export USER='pi'
eval cd~ $USER
case "$1" in
start)
#启动命令行。此处自定义分辨率、控制台号码或其它参数。
su $USER -c '/usr/bin/vncserver -depth 24 -geometry 1920x1080:1'
echo "Starting VNCServer for $USER"
;;
stop)
su $USER -c '/usr/bin/vncserver -kill:1'
echo "VNCServer stopped"
;;
*)
echo "Usage: /etc/init.d/vncserver {start/stop}"
exit 1
;;
esac
exit 0
sudo chmod 755 /etc/init.d/vncserver
sudo update-rc.d vncserver defaults # 设置开机自动启动vncserver
如果设置自动启动不成功,就只能每次打开树莓派后在树莓派的terminal输入vncserver来启动vncserver。
在笔记本端下载vncviewer Download VNC Viewer | VNC® Connect
登录的网址为ip地址加上:1,比如假设树莓派ip地址为192.168.188.224,那就在viewer上登录地址为192.168.188.224:1。
2. 树莓派时间不对
这会导致无法联网下载库,所以要先设置好时间。
date # 查看当前时间
su # 管理员权限,如果初次使用可能没有设置密码或者为raspberry,可以通过sudo passwd root设置
date -s 10/20/2023 # 设置日期为2023年10月20日
date -s 17:12:13 # 设置时间为17:12:13
然后可以打开浏览器,上百度查看是否可以正常访问网络。
3. pip install bluepy 的问题
1. 权限(permission)问题,su进入管理员权限
2. 出现 pip: no module named _internal,我是通过python -m pip install --upgrade pip更新pip解决的,然后再安装就可以安装成功了
4. Failed to execute mgmt cmd 'scanend' (code: 11, error: Rejected)
仓库讨论区有人推荐sudo hciconfig hci0 down 再sudo hciconfig hci0 up。
但是我关闭之后,会无法up,最后在另一个讨论贴的回复下看到重启,试了之后确实可以解决。
Failed to execute mgmt cmd 'scanend' · Issue #150 · IanHarvey/bluepy · GitHub
5. 编写程序接收ble server发送的消息
参考:python - BLE subscribe to notification using gatttool or bluepy - Stack Overflow