前回、SPRESENSEでCircuitPythonを試してみたのはだいたい3ヶ月くらい前。



■ SPRESENSE で "CircuitPython" を動かしてみた!
https://makers-with-myson.blog.ss-blog.jp/2020-05-08
■ SPRESENSE用”CircuitPython”のビルド環境を作ろう!(目次編
https://makers-with-myson.blog.ss-blog.jp/2020-05-10


前回はまだ完成度が低く発展途上だったのでアップデートはあるだろうなと思い、時々 CircuitPythonの GitHub の IssueList をチェックしているのですが、先日こんな "Issue" を発見!





早速、最新のツリーをCloneしてビルドしてみました。ビルドの仕方はこちらを参照してください。





GNSSとSDカードの確認をするためにサンプルコードを組んで試してみました。(サンプルコードは shared-bindings のソースコードの中にコメントとして記述されています)


■ GNSSのサンプルコード

import gnss
import time

print("start")

nav = gnss.GNSS([gnss.SatelliteSystem.GPS, gnss.SatelliteSystem.GLONASS])
last_print = time.monotonic()

while True:
nav.update()
current = time.monotonic()
if current - last_print >= 1.0:
last_print = current
if nav.fix is gnss.PositionFix.INVALID:
print("Waiting for fix...")
continue
print("Latitude: {0:.6f} degrees".format(nav.latitude))
print("Longitude: {0:.6f} degrees".format(nav.longitude))




こちらのコンソール出力がこれ。おぉ、部屋の中からですが位置を補足してます。なかなか偉いですねSPRESENSE。位置情報が得られるようになると色々とアプリケーションを作る気が湧いてきます。





USBケーブルは拡張ボード側のUSBポートに接続してください。Arduino IDE と異なり、シリアル出力も拡張ボードのUSBポートから出力されます。間違ってメインボードに挿して、シリアルが出ないと慌てないようにしてください。


次はSDカードの確認です。CircuitPython 標準の "sdcardio" と実装が別になってるのはなんでじゃろ?と思ったら "sdcardio" のほうはSPIなんですね。SPRESENSEのSDカードは高速のSDIOインターフェースなので別の実装が必要だったみたいです。


■ SDIOのサンプルコード

import sdioio
import storage
import os


print("start")

sd = sdioio.SDCard(clock=board.SDIO_CLOCK, command=board.SDIO_COMMAND, data=board.SDIO_DATA, frequency=2500000)

vfs = storage.VfsFat(sd)
storage.mount(vfs, '/sd')
fp = open("/sd/tmp.txt", "a")
fp.write("hello world!")
fp.close()



code.py を保存するとすぐに動き出し、SDカード上に”Hello World!”が書き込まれた "tmp.txt" が出来上がりました。やった!

これで位置情報をSDカードに記録するトラッカーが出来上がりますね。拡張ボードは大きいので、スイッチサイエンスで売っている小さな拡張ボードだと小さなGPS トラッカーが出来上がりそうです。



https://www.switch-science.com/catalog/5374/


これからのアップデートをさらに期待したいところですね!
( ^ω^ )/~





SONY SPRESENSE メインボード CXD5602PWBMAIN1

  • 出版社/メーカー: スプレッセンス(Spresense)
  • メディア: Tools & Hardware



SONY SPRESENSE 拡張ボード CXD5602PWBEXT1

  • 出版社/メーカー: スプレッセンス(Spresense)
  • メディア: Tools & Hardware



Getting Started with Adafruit Circuit Playground Express: The Multipurpose Learning and Development Board with Built-In LEDs, Sensors, and Accelerometer

  • 作者: Barela, Anne
  • 出版社/メーカー: Make Community, LLC
  • 発売日: 2018/09/18
  • メディア: ペーパーバック