4
2

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.

MicroPythonAdvent Calendar 2018

Day 19

XBee 3 ZB で MicroPython を使う(2)

Last updated at Posted at 2018-12-24

Lチカしてみる

前回記事では XBee 3 ZB の MicroPython を有効にするところまでやりましたが、今回は Lチカまでやってみましょう。

せっかく grove 対応のシリアル/ピッチ変換ボードを購入したので、Grove の赤LEDを繋いでみることにしました。

IMG_4796.jpg

このボードのコネクタではLEDへの出力に D6 ピンを使えばよういようです。

ということで Pin クラスを探したのですが、、、

>> import machine
>>> machine.
__class__       __name__        BROWNOUT_RESET  HARD_RESET
LOCKUP_RESET    PWRON_RESET     SOFT_RESET      WDT_RESET
reset           reset_cause     rng             soft_reset
unique_id
>>> machine.

ありません orz

ここにある XBee 3 用 MicroPython ドキュメントを調べてみましたが、どうやら ZigBee 版では I/O ピンに対応していないようです。

スクリーンショット 2018-12-24 23.11.12.png

でも、I/O ピンにアクセスできないなんてありえないと思い、さらに調べてみました。xbee モジュールに atcmd() 関数があり、これで AT コマンドを実行できるようです。

>>> import xbee
>>> xbee.
__class__       __name__        ADDR_BROADCAST  ADDR_COORDINATOR
XBee            atcmd           discover        receive
relay           transmit
>>> xbee.

ATコマンド一覧はユーザガイドにあり、 "D6" というそのまんまなコマンドがあります。

スクリーンショット 2018-12-24 23.22.39.png

これによれば、D6 コマンドに 4 を指定すればロー、5を指定すればハイの出力になるようです。ということで、REPLで確認してみます。

import xbee
import utime
while True:
    xbee.atcmd('D6', 4)
    utime.sleep_ms(500)
    xbee.atcmd('D6', 5)
    utime.sleep_ms(500)

見事に成功です。中断するには Ctrl-C を入力します。

IMG_4797.gif

4
2
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
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?