サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
デスク環境を整える
tech.144lab.com
現在の状況 執筆時点(2021-04-13)で公式のArduinoCoreサポートにRaspberryPi-Picoが追加されまています。その環境のセットアップとサンプルコードを動かしてみます。 サンプルコード int led = LED_BUILTIN; void setup() { Serial.begin(115200); pinMode(led, OUTPUT); } void loop() { digitalWrite(led, 1); delay(200); digitalWrite(led, 0); delay(200); } arduino-cliを使う方法 macOSの場合で解説しますが、その他の環境でもほとんど同じ操作です。 マウントパス名がドライブレターになったりシリアルポート名の表現が違うくらいです。 あらかじめ以下の2ツールをインストールしましょう。 arduin
ESP32-WROOM32がNRNDになってました。NRNDというのはNot Recommended for New Designsの略で、新規製品にはおすすめしないという意味です。 https://www.espressif.com/en/products/modules 新規製品には勧めないというだけでまだ製造終了ではないので既存の製品の生産には(まだ)問題ないのですが、今後開発する製品については考える必要があります。また、量産の仕様検討などで使われることを考えると最新の部品を使う必要があります。 後継品としてESP32-WROOM-32Eというのがあります(ESP32-WROOM-32Dというのもありましたが、これもNRNDになりました)。 調べたところ、それぞれの特長は 32D モジュール上の部品が更新されただけで核になるESP32のチップは同じ、モジュールのピン配置なども同じ製品
RaspberryPi 3 or 4 にAlpine-Linux(arm64)を画面とキーボードなしでインストールする方法。 144Labの入江田です。 alpine-linuxのインストールにはこれまで、画面とキーボードが必須だったのでインストールが結構面倒でした。 今回、ヘッドレスインストールに関する情報がAlpine-LinuxのWiKiに投稿されましたのでそれを試してみました。 情報元 https://wiki.alpinelinux.org/wiki/Raspberry_Pi-Headless_Installation 予めダウンロード http://www.sodface.com/repo/headless.apkovl.tar.gz alpine-rpi-3.12.0-aarch64.tar.gz 基本のインストール手順 マイクロSDカード8~32GBをFAT32でフォーマッ
144Labの大木です。ここのところの新型コロナウイルス(COVID-19)がらみの影響で、144Labとスイッチサイエンス、スイッチエデュケーションは「無理して出社しない」勤務になっています。 そこで社内の打ち合わせもリモート会議(オンライン会議、テレカン)になっているので、そこでの経験を書き留めておきます。 会議の前提 全員個々にオンライン参加 Google Hangouts Meetを使用 ヘッドセット 今時Bluetoothでつながるヘッドセット(マイク付きヘッドフォン)はいくらでもあるのでそれでつなげばいいやと思っていたのですが、Backspace.fmの第331回を聞いたら有線がよいということだったので早速安いやつを買ってきました。 backspace.fm この回、他にもリモート会議についてのノウハウがたくさん出てくるのでおすすめです(3時間ありますが……) 確かに有線接続の
先日、IoT開発を始めたばかりという方から「ハードウェアのデバッグはどうやるんですか?」と質問を受けました。デバッグというか動作確認には各種測定器を使うわけですが、どういう手順でどういう測定器を使うかはあまり解説されていないと思ったので、まとめてみます。 既存のマイコンボードやブレークアウトボードにはんだ付けされたデバイス(ICチップ)をジャンパワイヤを使ってつないで使っていることを前提としています。 テスター(デジタルマルチメータ) まず使ってほしいのがテスターです。そもそも電源が供給されているか、その電圧はデバイスが必要としている電圧かを確認しましょう。HiまたはLoに固定されているべき端子が本当にそうなっているか、変化しているはずの端子がHiやLoになりっぱなしになってしまっていることもわかります。 何をやっても値が返ってこないデバイスがあったのでテスターで各端子の電圧を調べてみたら
144Lab/スイッチサイエンスの菊地です。 昨日11月20日より改正電波法の一部が施行され、総務省電波利用ホームページ内に「技適未取得機器を用いた実験等の特例制度」のページが開設されました。 これは「技適」相当の技術基準を満たす無線機器については、実験・試験・調査等の目的を届け出ることにより「技適マーク」がなくても180日以内の間使用できるというものです。 総務省電波利用ホームページ 対象となる無線機器 対象となる無線機器はWi-Fi (IEEE802.11a/b/g/n/ac/ad/ax draft), Bluetooth (2.1〜5.1), LoRaWAN (AS923), Sigfox(RC3), IEEE802.15.4(ZigBeeなど)等の各規格に準拠したものです。なお、Wi-Fi機器は5.2GHz帯・5.3GHz帯は屋内のみ、5.8GHz帯は使用不可など、機器の仕様が総務
M5Stack用のMusicインターフェースボード(2019年冬発売予定)でシンセサイザーのデモを作りました。 ソースコード: https://github.com/144lab/M5Stack-MusicIF-Demo 以下はその実装の解説です。 USB-MIDIキーボード 以下の記述のspiRead関数でUSB-MIDIキーボードからのメッセージを読めます。 (MusicIF側のSTMマイコンのファームにUSB-MIDIキーボードのハンドリング機能が実装済み) #include <SPI.h> SPIClass *vspi = NULL; void setup() { // initialise vspi with default pins digitalWrite(5, HIGH); pinMode(5, OUTPUT); // SCLK = 18, MISO = 19, MOSI
Arm TechCon 2019が終わったので、感じたことなどを書きます。 IoT機器のセキュリティはもはや当然 昨年の記事でも書きましたが、IoT機器のセキュリティはすでに必須のものになっているようでした。それだけ実運用されているということなんでしょう。「Root of Trust(RoT)」という言葉が頻繁に出てきました。マイコンをセキュアにブートするためのしくみのようです。重要なキーワードのようなので覚えておくといいかも。 もちろん個人で開発するものまでセキュリティを強要されるわけではありませんが(実際セキュリティ用の回路が入っていないマイコンは引き続き作られますし)、プロセスがシュリンクして余った面積にもろもろのセキュリティ回路が入るのは順当かなと思います。 AIというか機械学習、ニューラルネットワークなどが基本機能に これも昨年の記事に書いたのですが、今回は「NPU」「CMSIS
144Labの入江田です。 https://tech.144lab.com/entry/papyr にも書きましたが、 最近、CircuitPythonをいろんなデバイスで試しています。 CircuitPythonリポジトリ なぜCircuitPythonは作られたの? 組み込み向けPythonとしてpython-on-a-chipを始めとしてMicroPythonという歴史ある実装があるにもかかわらずMicroPythonをフォークしてCircuitPythonは生まれました。 CircuitPythonはボードベンダであるAdafruitが作りました。 Adafruitは自社製品向けに調整済みのCircuitPythonをリリースすることで より教育に優しいPythonによる開発環境を提供していく考えのようです。 これまでの類似製品よりもより組み込み初心者をターゲットにしています ドキ
みなさんこんにちは。スイッチサイエンスの大木です。 Maker Faire Kyotoが終わってほっとしています。出展された方も来場された方もおつかれさまでした。 さて、今回のMaker Faire Kyotoで突発的に少しだけ販売した、M5Stackの新製品M5StickCのスケッチを書いていてちょっと調べないとわからなかった小ネタを書いておきます。 転送レートについて 開発時にコンパイルしたスケッチを転送する速度がM5Stackより上がっており、最高1.5Mbpsで転送できます。1.5Mbpsの転送は大変快適です。ただそのためにはArduino IDEの設定ファイルboards.txtを修正する必要があります。 Macでは ~/Library/Arduino15/packages/esp32/hardware/esp32/1.0.2/ にありました。 Windowsでは C:\User
144labの入江田です。 今回TinyGoという素敵なプロダクトを試してみました。 TinyGoとは TinyGoは本家Go言語の組み込み向けのサブセット版。 本家Go言語はPOSIX-OSに対する機能依存が大きく、リッチなランタイムを持っています。その為、本来はOSを持たない組み込み用途には不向きでした。 TinyGoはPOSIX-OSに依存する機能を簡易的な実装で代用しつつLLVM(コンパイラを作る為のフレームワーク)を使って組み込み向けアーキテクチャをサポートするGo言語のコンパイラです。 つまりサポートするCPUアーキテクチャはLLVMがサポートするものを前提にしています。 リポジトリ https://github.com/tinygo-org/tinygo ドキュメント https://tinygo.org/ サポートアーキテクチャ ARMのCortex-M0系 WebAsse
この記事は自作キーボード #2 Advent Calendar 2018 15日目の記事です。 adventar.org 昨日はtanimotoikkiさんの「初心者がこの一ヶ月で経験したトラブル」でした。 この記事では今年のMaker Faire Tokyo 2018で発売した、Pro micro スイッチサイエンス版 通称モゲナイマイクロについて書きます。 Pro Microの改善点 自作キーボードについて調べ始めて驚いたのは、Pro Micro採用率の高さです。しかしMicroUSBコネクタに力がかかってモゲやすい以外にもPro Microをキーボードに使うにはいくつか改善できる点があることが分かりました。 上記の通り、ケーブルの抜き差し時などにMicroUSBコネクタに力がかかった時にモゲやすい 厚い 5Vと3.3Vの両方に対応するため、5V版には不要な部品が付いている コンスルー
うんこボタンをご利用いただいているお客様には大変ご不便をおかけしております。 現在、うんこボタンの不具合の修正に取り組んでいます144Labの入江田です。 昇圧型のDC-DC電源の出力段(*)に入れてしまってた電解コンデンサに 特定の条件下で通常の電圧を超える電荷をためてしまい、 それがマイコンモジュールを破壊する恐れがあることがわかりました。 電池(2.2~3.2V)--->DC-DC(3.3V)---(*)---->負荷(マイコンモジュール他) 消費電力変動の激しいWi-Fi内蔵マイコンモジュールを安定動作するために 大容量の電解コンデンサを電源ラインに念のために入れるのは古くからの常識でしたが、 昨今のDC-DC電源は追従性能が高速化しており、電源と負荷の間に内部抵抗の高い電解コンデンサを加えると追従性能を逆に悪化させることになるという真逆の注意事項があることに気づけませんでした。
144Labの今津です。 うんこボタンの交換をお申し込みいただいたお客様に、暫定対応を施したうんこボタンをお送りすることにしましたので、暫定対応の内容についてお知らせします。 うんこボタンの故障問題にあるとおり、現在の基板から電解コンデンサを取りはずすことで、外す前のものに比べて安定した動作をすることがわかりました。 コンデンサを取りはずしたものの動作確認を行っていますが、電池の電圧が1.4Vを下回らないようにしていると、今のところ動作不能になってしまうボタンは出ていません。 暫定対応版について コンデンサの取り外し前後 写真の左が加工前の基板、右が電解コンデンサを取り外した基板です。 この状態で、実際にウェブアプリでボタンを登録、押ボタンを押してできごとを複数回登録、リセット、といった動作確認を繰り返しおこないテストをしています。 正常動作を確認したものを、順次交換をお申し込みいただいた
144Labの今津です。 うんこボタンの不具合について報告をします。 現在、うんこボタンには2つ問題があります。 うんこボタンがサーバーと通信できなくなる問題。 うんこボタンデバイス自体の問題。 うんこボタンがサーバーと通信できなくなる問題について ひとつめが11/24に発生した、全てのうんこボタンがサーバーと通信できなくなる問題です。 うんこボタンはサーバーと通信する際に、HTTPSを使用します。 HTTPSを採用した理由としては大きく次の2点です。 通信の暗号化 通信対象サーバーの確認 後者の目的のために、うんこボタンデバイスはファームウェア内に通信対象のサーバー証明書のフィンガープリントを保持しています。 使用していたサーバー証明書の期限が切れ、サーバー証明書が更新されたことで、フィンガープリントによるサーバー証明書の確認に失敗するようになりました。 サーバー証明書の確認にルート証明
144Labの入江田です。 最近、RaspberriPiを筆頭にLinuxが動作可能な安価なデバイスが増えてきました。 しかし、LinuxディストリをSDカード上でちゃんと運用するためには それなりの調整が必要です。 何も考えずにPCディストリをSDカードに入れた場合、 毎日のようにパッケージ更新をチェックし システムログをSDカードに細かく頻繁に書き込み続けます。 設定によりますが半年~1年ほど経てば 細かい高頻度の書き込みと断片化、寿命による性能劣化が急速に進みます。 運用寿命を数年以上に引き上げるためにはとにかくSDカードへの書き込み頻度を減らすことが重要です。 そこで組み込み用途向けディストリというものがあります。 もちろん「Raspbian」もその一つです。 超有名どころとしてはルーター用ディストリとして発展した「OpenWRT」がありますが、 ここでは「alpinelinux」
144Labの入江田です。 先日@ITさんにてうんこボタン全体の仕組みが紹介されました。 www.atmarkit.co.jp このうち回路回りの量産化までの道のりをもう少し掘り下げて紹介します。 プロトタイピングのころ 1ボタンデザイン 電池三本電源 ハードコードでPOC ここまでであれば、 既知の実装の組み合わせで動作可能なものが 手早く実現できました。 電源の仕組み選択 レギュレータ電源であればは電池3本が必須だった。 軽量化のために昇圧電源回路を検討 電池1本 消費電力的に難しかった 電池2本 最終的に選んだ方法 電池寿命に依って単3サイズか単4サイズか検討 省電力への取り組み いろんなサンプルコードを動作させつつ、 CPUの状況別に消費電流を計測しました。 CPU稼働中は一定した電流をコードにかかわらず 平均80mAほど消費することがわかりました。 Wi-Fi通信中の消費電流は意
144Labの今津です。 今日は社内システムについて。 長年紙タイムカードを使ってきたけど、不便だなあとはずっと思ってたんですよね。 タイムカードの機械がないと打刻できない。 打刻できないときとか間違いの修正は手書き。 毎月末手動で時刻読み取って時間計算する。 基本的に1日1回しか出退勤できない。 会社ではもちろん勤務時間等に関するルールはあるんだけど、「社員の人たちが働きやすいようにしよう」が根本にあるので、例えば育児などで10-18時の勤務が難しい場合に、在宅勤務したり変則時間勤務ができるようにしたりしている。フレックスタイム制もその一環。 たとえば、午前中は出社して昼に帰宅して夜20-22時に在宅勤務する、ということができる。 もうこの時点で紙のタイムカードは全く役に立ってないんですよね。在宅勤務が多い人の場合は機械での打刻より手書きの方が多いことも珍しくない。 しかも総務の担当の人
このページを最初にブックマークしてみませんか?
『スイッチサイエンス 開発者ブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く