树莓派玩具怎么优化?
时间: 2020-08-27来源:V2EX
前景提要
其实树莓派自带 GPIO 接口,想把我目前的实现变成舍弃 Arduino,让树莓派直接接元器件,有没有好的建议? readme 如下:
基于 Rasperry Pi 3B and Arduino 选型如下: 开发板: Rasberry Pi 3:中央控制服务器,负责与互联网的通信、采样存储 Arduino 上报的状态数据、提供 /调用 API 以方便用其他终端控制。 Arduino UNO:负责传感器采样,和 RPi 进行通信。 温度传感器:DHT22 语言:Python3,Java8 数据库:mysql
Arduino #include "DHT.h" DHT dht(2, DHT22); void setup() { Serial.begin(9600); dht.begin(); } void loop() { float humidity = dht.readHumidity(); float temperature = dht.readTemperature(); Serial.print("Humidity: "); Serial.print(humidity); Serial.print(" "); Serial.print("Temperature: "); Serial.println(temperature); delay(2000); }
RasberryPi 3B
安装系统
镜像: raspbian-stretch-lite
microSD 卡: 16G ,推荐 8G 以上 将 SD 卡格式化:(Mac)磁盘工具-->抹掉-->MS-DOS(FAT)-->抹掉 终端 df-h 查看挂载,SD 卡假设为 /dev/disk2s1 卸载 SD 卡 diskutil unmount /dev/disk2s1 diskutil list 确认 /dev/disk2 下的 disk2 官网 下载镜像,写入 SD 卡 sudo dd bs=4m if=本机镜像路径 of=/dev/disk2 查看进度可以另起终端 sudo kill -INFO $(pgrep ^dd) 由于树莓派默认不开启 ssh,写入成功后在 /boot/ 创建无后缀的文件名为 ssh 的文件 设置自动连接 Wi-Fi:在 /boot/ 下创建 wpa_supplicant.conf country=CN ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ scan_ssid=1#SSID 被隐藏时设置 ssid="TaiGe"#Wi-Fi 名 psk="HaoyunHu888"#Wi-Fi 密码 } 弹出 SD 卡 diskutil unmountDisk /dev/disk2
以上,RasberryPi 的系统安装完成,可以将 SD 卡插入开发版上电开机了
登录系统
SSH ssh [email protected] default password: raspberry
通过路由器查看树莓派的当前 ip: 打开网页 192.168.1.1 ,登录系统 状态 /用户侧信息 /以太网接口信息 /,找到客户端名称为 raspberrypi 的 IP 地址: ***.**.**.*
关机 sudo shutdown -h now ,重新上电后会自动开机 系统安装参考 查看 rpiIP 参考
RaspberryPi 读取 Arduino 数据
安装 Python3
sudo aptitude install python-dev
安装 Python 的 GPIO 模块
用于控制 LED 、电机等 sudo apt-get install rpi.gpio
安装 Serial
用于串口通信及 USB 通信 sudo apt-get install python-serial
安装串口调试程序
minicom 是 linux 平台串口调试工具,可以用它来读取 Arduino 通过 USB 串口发送的传感器数值。 在 RaspberryPi 上安装 minicom: sudo apt-get install minicom 配置 minicom: minicom 启动: minicom -b 9600 -D /dev/ttyACM0 -b 代表波特率 -D 代表端口 /dev/ttyACM0 代表打开与 Arduino 相连的端口
Python 打印数据
show.py import serial ser = serial.Serial('/dev/ttyACM0',9600) info = ser.readline() while info: print(info) info = ser.readline()
Python 调用 http API 安装 requests sudo pip install requests
后台运行 py 脚本
nohup python api.py &

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行