其实树莓派自带 GPIO 接口,想把我目前的实现变成舍弃 Arduino,让树莓派直接接元器件,有没有好的建议? readme如下:
基于 Rasperry Pi 3B and 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);
}
镜像: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 pi@ip
default password: raspberry
通过路由器查看树莓派的当前 ip:
192.168.1.1
,登录系统***.**.**.*
关机sudo shutdown -h now
,重新上电后会自动开机
sudo aptitude install python-dev
用于控制 LED 、电机等
sudo apt-get install rpi.gpio
用于串口通信及 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
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 &
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.