2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

pigpioでリモートLチカ

Last updated at Posted at 2020-04-28

これは何?

raspberry piのGPIOをリモートから制御するためのテストプログラムです。
諸事情によりリモートでGPIOを制御する必要があり、急遽設定してみました。

もろもろの設定から

詳しくは、こちらをどうぞ。

shell
$ cat /etc/systemd/system/multi-user.target.wants/pigpiod.service

[Unit]
Description=Daemon required to control GPIO pins via pigpio
[Service]
ExecStart=/usr/bin/pigpiod -l
ExecStop=/bin/systemctl kill pigpiod
Type=forking
[Install]
WantedBy=multi-user.target

起動します。

shell
$ sudo systemctl enable pigpiod
$ sudo systemctl start pigpiod
$ sudo systemctl status pigpiod

● pigpiod.service - Daemon required to control GPIO pins via pigpio
   Loaded: loaded (/lib/systemd/system/pigpiod.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/pigpiod.service.d
           └─public.conf
   Active: active (running) since Tue 2020-04-28 20:59:18 JST; 1h 16min ago
  Process: 3643 ExecStart=/usr/bin/pigpiod (code=exited, status=0/SUCCESS)
 Main PID: 3644 (pigpiod)
    Tasks: 4 (limit: 4915)
   Memory: 568.0K
   CGroup: /system.slice/pigpiod.service
           └─3644 /usr/bin/pigpiod

 4月 28 20:59:18 raspi4 systemd[1]: Starting Daemon required to control GPIO pins via pigpio...
 4月 28 20:59:18 raspi4 systemd[1]: Started Daemon required to control GPIO pins via pigpio. 

リモートPCにも、必要なモノをインストール。
私の場合は、Raspberry Pi 3なのでpigpioをインストール。

LEDチカ

テスト用のプログラムです。

python
import time
import pigpio

PI = pigpio.pi("リモート側のip address", 8888)

PI.set_mode(23, pigpio.OUTPUT)
PI.set_mode(24, pigpio.OUTPUT)
PI.set_mode(25, pigpio.OUTPUT)

try:
    while True:
        PI.write(23, 1)
        time.sleep(0.1)
        PI.write(23, 0)
        PI.write(24, 1)
        time.sleep(0.1)
        PI.write(24, 0)
        PI.write(25, 1)
        time.sleep(0.1)
        PI.write(25, 0)
except KeyboardInterrupt:
    pass
PI.set_mode(23, pigpio.INPUT)
PI.set_mode(24, pigpio.INPUT)
PI.set_mode(25, pigpio.INPUT)
PI.stop()

GPIO23,24,25にLEDを3つつないでいます。
ローカルホストから実行した場合は気になりませんが、リモートからの実行だと回線速度の影響と思われますが、動きがたどたどしくなります。

今回は100V電源のON/OFFのためのリレーの制御で、高速で切り替える必要はないため問題はありません。

IMG_1171.jpeg

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?