Septentrio mosaicHATを使ってみる3 ~GeeekPi 電源ハットボードを弄る
前回はこちら
hys-iroha.hatenablog.com
ラズパイとmosaicHATとのGPIOを介した通信がそもそも出来なかった.今回は引き続きその問題に取り組む.
なぜGPIOを介した出来ないか?
ハードとソフトの問題に分けられる気がする.ハードなら,機材を交換すれば解決する.前回は割とソフト側の問題に取り組んだ.MosaicHATのgithubに記載されている手順を踏んで通信ができなかった.
今回は,使用しているラズパイが死んでいる可能性を見てみる.具体的には,ファンHATが実は通信で色々できるヤツ*1なので,それが出来るかを試してみる.素直にファンHATの機能が実装できれば,MosaicHAT側の問題と考えられそう.
ファンHATの機能を使ってみる
サポートページを見る
ファンHATはこれを使用している.
ディスプレイの表示画面をプログラムでカスタマイズできるとある.これを試してみたい.amazonのページにテクノロジーサポートのページがある.
wiki.52pi.com
表示できた
OLEDの項に記載してあることを試したら,普通に表示ができた.
任意の文字列も!
任意の文字列も表示できるようになった.
コードもメモしておく.ちなみに,日本語に対応したフォントを使わないと,日本語は表示できない.フォントは新しくダウンロードした.
qiita.com
qiita.com
import Adafruit_SSD1306 as ssd1306 from PIL import Image from PIL import ImageDraw from PIL import ImageFont BUS = 1 ADDR = 0x3C RST = None font = ImageFont.load_default() font_ttf = '/usr/share/fonts/truetype/kochi/kochi-mincho.ttf' font = ImageFont.truetype(font_ttf, 15) oled = ssd1306.SSD1306_128_32(rst=RST, i2c_address=ADDR) oled.begin() oled.clear() oled.display() width = oled.width height = oled.height image = Image.new('1', (width, height)) draw = ImageDraw.Draw(image) draw.text((0, 0), "動け!mosaicHAT", font=font, fill=1) oled.image(image) oled.display()
GPIOが機能してるのはわかった.でも,通信方式が違う.
色々動かせて楽しかったけれど,これはI2Cで,mosaicHATが使うのはUART.ピンも違うので,これでラズパイが死んでいないとは断定できない.でも,ちゃんと思った通りに動いてくれて,自信が回復した.mosaicHATは希望が見えず,正直萎えている.息抜きにもなったので,次はmosaicHATで何か進捗を生み出せたらと思う次第.
*1:本来の利用では使わない機能.モニターがファンHATについていて,温度の表示とかが出来る