最近想开始尝试通过编程与硬件进行互动(比如简单的控制风扇,自己弄几个传感器做一个空气质量检测仪之类的)
不过我主要用的是 python ,其他的语言没有怎么深入学过,不知道单单用 python 是否可行?
家里翻了一下,有一块树莓派 4B ,之前捣鼓了软路由,看了下要接传感器好像还蛮复杂的,请教一下大家,如果想玩一些硬件、传感器之类的,从哪里下手会比较好一些?(就玩玩,暂时不打算从 c 开始做起)
有没有别的套件或者开发板推荐呢?
PS:有网友推荐去淘宝花 10 块钱买个 esp32c3 ,刷 micropython ,带 adc/dac/i2c/spi 等一些列外设接口。不知道这个连接传感器用方便不。
树莓派的看了下,Python 读取传感器的方式,树莓派可以直接通过 GPIO 口读取,主要问题,无法读取模拟传感器,需要额外的硬件( ADC MCP3008 ),比如: https://tutorials-raspberrypi.com/mcp3008-read-out-analog-signals-on-the-raspberry-pi/
自己之前没接触过硬件,感觉入门还是有点难度 = =
1
sivacohan 2022-11-01 14:58:50 +08:00
娱乐的话还是很简单的。
Linux 的的抽象是万物皆文件,你把各种外设都当成一个文件就好了。 然后 I2C ,SPI 之类的通信协议当成一个驱动就好了。 |
2
listenfree 2022-11-01 16:10:25 +08:00
建议买 esp32 ,刷 micropython 没问题,难点主要在硬件模电,数电,上拉,下拉,i2c,如果只是点亮一个灯,是很简单。
|
3
muooOOO 2022-11-01 16:32:14 +08:00
还有一种就是买 arduino 套件,各种传感器搭配起来很方便。但是需要你了解下 arduino 的开发语言,反正也不难
|
4
bnull 2022-11-01 16:36:37 +08:00
esp32 拿来做 iot 设备挺方便的,价格低廉性能也有,但是电子方面要学很多知识,这方面跳不过。最近在学校弄个小东西就是用 esp32cam 当视频源,电脑处理图片(不过其实 esp32 本身性能足够挺强的,例程中甚至有一个人脸识别)不过 esp32 缺陷也很明显,io 太少了,树莓派太贵了玩不起,stm32 性能稍微弱了一些但是资源资料都挺充足的。搞这些东西还是得学点 c 把,如果用 stm32 开发的话相当轻松了,hal 库封装的很好,绝大部分直接用就行了。实际底层都还是操作寄存器的
|
5
qzwmjv 2022-11-01 16:37:19 +08:00
esp32 自带 adc 虽然不太准,
开发简单还是建议搞数字输出的传感器,上 esp32s 系列吧,c 系列弱一点 |
6
marcong95 2022-11-01 16:43:24 +08:00
如果你只是自己弄着玩,或者用来辅助自己的智能家居啥的,其实你说的已经足够了。而且传感器感觉很多都是数字的,真需要用模拟传感器,那就在买个模块插上去就好了
想进一步玩的话 ESP32 确实也更合适,毕竟等你多弄几个到处放的时候树莓派就算原价也显得比较贵了。 |
7
eyewater 2022-11-01 17:16:49 +08:00
可以买个 esp32 刷 arduino 的固件,arduino 的语言还是很简单,比如这个,用 DHT11 传感器获取温湿度 https://create.arduino.cc/projecthub/arcaegecengiz/using-dht11-b0f365
micropython 也用过,不过感觉没有 arduino 的库多 |
8
ralstonish OP 非常感谢大家的回复!
|
9
Eiden 2022-11-01 17:38:49 +08:00
mpy 可以实现你的需求, 但是 mpy 最多语法上手快, 你还是要了解很多硬件外设知识的
可以试试买 esp32, 然后用乐鑫官方的 ESP-IDF 开发框架, 比较适合软件开发的人上手, 单片机开发场景 mpy 这种相较 c 其实并没有提供多少便利 |
10
kokutou 2022-11-01 17:42:25 +08:00 via Android
Arduino 算了。。学一下很快的。。。
Arduino 库多的 1b |
11
wangbin526 2022-11-01 17:54:27 +08:00
用 ESP-IDF 的路过,新手入门不推荐,这货没成体系的教程,基本都得看官方文档和示例自己啃
建议 Arduino 吧,这货 C 语言就那二三十句,到处都是完整教程,最主要是第三方库多,基本上常见传感器都有现成库,买个合宙 9.9 的 ESP32C3 接几个传感器半小时搞定,micropython 不推荐,不过进阶的 ESP32S3 语音识别、人脸识别什么都只有官方的 IDF 库 当然做产品最后还是得 ESP-IDF ,光一个加密 ESP32 Arduino 就很难搞定 PS:乐鑫刚出了一本官方的 ESP-IDF 教程,《 ESP32-C3 物联网工程开发实战》,IDF 至少有一本官方教程了,不过还是得自己啃示例 |
12
Scirocco 2022-11-01 20:08:46 +08:00
|
13
leimao 2022-11-01 23:14:21 +08:00 via iPhone
NVIDIA Jetson
|
14
MonoLogueChi 2022-11-02 00:06:48 +08:00 via Android 1
只用 Python 的话可以尝用 circuitypython 或者是 micropython 。硬件的话建议用第三方的 pico 开发板,大概 20-30 块钱一个,可以搜 rp2040 开发板不建议用树莓派官方的 pico 。如果想用 esp32 系列开发板的话
esp32 优点价格便宜,io 口多,性能强,缺点没 usb ,不支持 dfu esp32s2 优点,原生 usb 支持,价格便宜,io 口多,缺点,不支持蓝牙 esp32s3 优点,原生 usb 支持,io 口多,性能强,缺点,贵 esp32c3 优点 便宜,低功耗。缺点,io 口相对较少,不支持 usb ,但支持 usbcdc |
15
MonoLogueChi 2022-11-02 00:08:46 +08:00 via Android
补充,如果不想买开发板,用树莓派 4b 也是可以的,circuitpython 和 micropython 都是可以直接在树莓派上跑的,而且比开发板上更方便
|
16
customsshen 2022-11-02 14:22:48 +08:00 via Android
mpy 可以简单点,但是相比 arduino 用 C 开发的话,库少的可怜。python 的先天优势都没了。
|
17
ralstonish OP @wangbin526 感谢!我去看看~
|
18
ralstonish OP @MonoLogueChi 非常感谢!
|
19
MoyiTech 2022-11-09 17:14:13 +08:00
高中的时候做过,esp8266 开发板可以使用 Arduino 进行编程,然后可以使用 HTTP 协议或者连接 MQTT 实现联动
|