方言を話すおしゃべり猫型ロボット『ミーア』をリリースしました(こちらをクリック)
AI

【ChatGPT】をプログラミングで活用する際に注意すべきこと

「【ChatGPT】に与える良いプロンプトとは。良い結果を得るための6つの戦術」の記事でも記載したが、やはり最初が肝心で「明確で具体的な指示を書く」ことが最重要と感じる。あと、API関連は公式ドキュメントを見て、usageを確認した方が早い。
組み込み(C++ / ESP32)

【ESP32 × PlatformIO】設定ファイル(AWS IoT)をLittleFSからNVS領域に移動

現状、設定ファイルをdata配下に置きビルド時はSPIFFS領域に含まれているが、ダウンロードの処理の不具合などでLittleFSのストレージが溢れた際、証明書の読み込みなど失敗する可能性があるので、NVS領域への書き込みと読み取りに変更する。
組み込み(C++ / ESP32)

【ESP32】ESP-IDFへの移行後に発生したMQTT通信後のスタックオーバーフローエラー対処法

スタックオーバーフローは、タスクが割り当てられたスタックメモリを使い果たしてしまう現象。MQTTメッセージの受信処理やパース処理が原因でスタックオーバーフローが発生することがある。sdkconfigファイルでスタックサイズの設定変更することで解決できることがある。
組み込み(C++ / ESP32)

【ESP32 × PlatformIO】フレームワークをArduinoとESP-IDFで併存する方法

PlatformIOでArduinoとESP-IDFのフレームワークを併用することができる。platform.iniにframework = arduino, espidf と設定することで既存の多くのArduinoライブラリを直接利用できるため、コードのポーティングや書き直しの手間を省くことができる。
組み込み(C++ / ESP32)

【ESP32】NVS暗号化キーを作成してNVSパーティションを暗号化

ESP32のNVS暗号化機能を利用するために必要な暗号化キーを保存するための専用パーティションとして、新たにNVSキーパーティションを作成する。NVSキーパーティションとして、Typeはdata, Subtypeはnvs_keysを指定する必要がある。
組み込み(C++ / ESP32)

【ミーア】実際に18個組み上げたところ、まさかの半分程度動かない!?

今回は、本番のファームウェア書き込みversionもfixし、実際に組み上げていこうと思う。この時点で、USB TypeC給電して電源を入れて、実際に動くかを確かめてみる。まぁ、全部動くでしょ!と思っていたら、まさかの「半分近く動かない!」
アプリ(Flutter)

【Firebase】メールアドレス変更時にemailVerifiedがfalseにならない問題の解決策

一度Firebaseでユーザー認証を済ませた後にメールアドレスをユーザーが変更したい場合に、メール認証をしなくてもユーザーがメールアドレスを変更できてしまうエラーの解決を試みる。ちなみにuser.emailVerifiedはメールアドレス変更時には役に立たない
AI

【Claude 3.5 Sonnet】GPT4oと同等かそれ以上かもしれない!?

ChatGPTのライバルの1つであるAnthropic社が昨日Claude 3.5 Sonnetをリリースしたので早速使ってみた。自社調べの競合(GPT-4o, Gemini1.5, Llama-400b)との比較では、 ほとんどのベンチマークスコアでGPT4oを上回っているとのこと。実際に試してみたら、回答入力までのレスポンスも非常に早く、かつ、内容もGPT4oと遜色ないほど良かった。
アプリ(Flutter)

【Flutter × Go × ESP32】ミーアにミュート機能を追加する方法

ミーアのβ版をリリースした後、実際に使っていただいた複数のユーザから「話す頻度に「喋らないモード」が欲しい」との要望が来たので、今回は本機能の実装を記載。参考にアレクサを見てみたところ、確かにホーム画面にミュート(この場合はおやすみモード)がアイコンのトグルで表示されていた。
Others

【Text-to-Speech × Go】テキストから音声合成し、AWS S3にアップロードする

Google TTSライブラリを使って、Go言語でテキストから音声を合成するコードを記載。その後、生成した音声ファイルをAWS S3へアップロードする。google tts、s3ともに認証情報が必要なので取得して環境変数に格納する。無事、テキスト情報「おはようございます」をもとに、音声ファイルが作成され、s3に格納された。