Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

License

NotificationsYou must be signed in to change notification settings

ytakano/rpi_async_test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Raspberry Pi 4をRustのasync/awaitの非同期プログラミングで操作するテストコードです。async_stdとrppalを用いています。

Raspberry Pi 4

シグナルを受け取ると、Graceful shutdownします。

データベース

Dieselを利用して、PostgreSQLに保存します。環境変数DATABASE_URLに適切な値を設定すると保存できます。

Deiselはasync/awaitで使うのが難しかったので、DB系は別スレッドで動作します。

$export DATABASE_URL=postgres://user:pass@localhost/rpi_async$ diesel setup$ ./target/release/rpi_async

DBに保存したデータは以下のようにGrafana等で可視化できます。

Grafana

参考資料

CCS811以外の使い方は、以下の書籍に載っています。実装はPythonですが、とても良い本です。

Raspberry Piで学ぶ電子工作

配線

ピン配置

   3V3  (1) (2)  5V GPIO2  (3) (4)  5V GPIO3  (5) (6)  GND GPIO4  (7) (8)  GPIO14   GND  (9) (10) GPIO15GPIO17 (11) (12) GPIO18GPIO27 (13) (14) GNDGPIO22 (15) (16) GPIO23   3V3 (17) (18) GPIO24GPIO10 (19) (20) GND GPIO9 (21) (22) GPIO25GPIO11 (23) (24) GPIO8   GND (25) (26) GPIO7 GPIO0 (27) (28) GPIO1 GPIO5 (29) (30) GND GPIO6 (31) (32) GPIO12GPIO13 (33) (34) GNDGPIO19 (35) (36) GPIO16GPIO26 (37) (38) GPIO20   GND (39) (40) GPIO21
  • GPIO11 (23)はSPI SCLK
  • GPIO09 (21)はSPI MISO
  • GPIO10 (10)はSPI MOSI
  • GPIO08 (24)はSPI CEO
  • GPIO02 (3)はI2C SDA
  • GPIO03 (5)はI2C SCL

MCP3208 (SPI)

CH0 Vdd     -> 3V3CH1 Vref    -> 3V3CH2 AGND    -> GNDCH3 CLK     -> GPIO11 (23), SPI SCLKCH4 Dout    -> GPIO01 (21), SPI MISOCH5 Din     -> GPIO10 (19), SPI MOSICH6 CS/SHDN -> GPIO08 (24), SPI CEOCH7 DGND    -> GND

フォトレジスタの接続例は以下。

3V3 - CdS Cell - 10 KΩ抵抗 - GND               |              CH0

ADT7410, ST7032 (I2C)

Vdd -> 3V3SCL -> GPIO03 (5), I2C SCLSDA -> GPIO02 (3), I2C SDAGND -> GND

CSS811 (I2C)

Vdd -> 3V3SCL -> GPIO03 (5), I2C SCLSDA -> GPIO02 (3), I2C SDAGND -> GNDWAK -> (40) GPIO21RST -> 3V3ADD -> GND

GPIO21は他のGPIOピンでも問題なし。

ADDはGNDか3V3かによって、I2Cのアドレスが以下のように変化する。

  • ADD
    • GND -> 0x5a
    • 3V3 -> 0x5b

GPIO

GPIOの入力と出力のテスト。入力のタクトスイッチを押すと、LEDが点灯。

出力

GPIO06 (31) - LED - 330 Ω抵抗 - GND

入力

3V3 - タクトスイッチ - GPIO05 (29)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp