サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
engineering.nature.global
ファームウェアエンジニアの井田です。 今回はESP32系MCUで無線LANによる受信ができなくなる問題の原因と調査方法について解説します。 背景 ESP32にてそこそこ頻繁に無線LAN経由の通信を行っているときに、環境によっては急に通信ができなくなる現象が発生しました。 そこで、Wiresharkを用いて通信状況を確認すると、どうもESP32側からの送信パケットは届いているものの、ESP32へのパケットは受信されていないような状況が確認されました。 例えば、ESP32側からDNSのリクエストを投げて、ルーターが返答をしているのにも関わらず、ESP32のログ上は名前解決に失敗した状態になっています。 また、TCPによる通信も何度も再送が発生しており、よくよく見てみると、ESP32側がACKを返さないので、通信相手のサーバが再送してきているという状態でした。 現象より、ESP32の無線LANド
Natureエンジニアインターン生の後藤です。この記事では、インターン期間中に取り組んだfirequeueの改修についてお話します。 背景 NatureのバックエンドにはNature Remoからメッセージを受け取るエンドポイントがあるのですが、このエンドポイントはメッセージが来るたびに叩かれるので、NatureのAPIサービスの中で最も合計レイテンシとリクエスト数が大きいものとなっています。 エンドポイント毎のリクエスト数と累積時間 詳しくこのAPIのレイテンシの内訳を見てみると、その中でもFirehoseが占有している時間が40%と最も長くなっていました。 APIのレイテンシの内訳 また、Natureではfirehoseへの送信にfirequeueというGo言語のpackageを使用しています。firequeueは、Amazon Kinesis Data Firehoseへのアイテムの
Nature で iOS/Android あと Firmware チョットデキル亀田 @Gemmbu です。 昨年末ベータテスターを募集し、皆さんと協力としながら開発を行ってきました BLE マクロあらため機器拡張マクロが正式リリースされました。 機器拡張マクロ 機器拡張マクロにより、これまで Nature Remo から操作できなかった Bluetooth® Low Energy デバイスを操作することができるようになります。これにより今まで対応していなかったデバイスを Nature Remo アプリから操作できるようになるだけでなく、 温湿度センサやホームロケーションと組み合わせることで操作の自動化もすることができるようになります。 皆様のスマートホームの可能性を広げる機器拡張マクロですが、今までの機能に比べて多少複雑になっております。この記事が少しでも皆様の助けになることを願っていま
Nature ソフトウェアエンジニアチームです。自身で BLE 連携を追加できる Nature Remo の新機能「BLEマクロ」を、一般公開に先立ち開発者のみなさまを対象としてベータテストを実施いたします。 本エントリでは「BLEマクロ」の簡単な説明、応募要件、応募方法についてご案内します。 ぜひ奮ってベータテストにご応募ください。 2023/12/28追記 ベータテスターの募集は終了しました。たくさんのご応募ありがとうございました。 BLE マクロとは BLE 通信のマクロを GitHub に公開することで、ユーザーさまがご自身で BLE 連携機器を増やすことができる機能です。 例えば、BLE 対応のスマートライトを点灯するマクロを作れば、Nature Remo アプリにボタンを登録して、操作することが可能です。 BLEマクロ概要 将来的にマクロをユーザーさま同士でシェアできる機能も検
Nature エンジニアの的場です。これは第2回 Nature Engineering Blog 祭14日目のエントリです。 表題の通り、外部へのAPIリクエストをそれなりにする機能をテストするときにそのmockをどうやるのがいいかなと自分なりに試行錯誤した結果、今はこうやってますと言う内容を共有しようと思います。 TL;DR テストケース単位で必要十分なレスポンスを返す小さなmockを都度作っていくのが調子が良い。 packageはgockを経て自作のものを使うように。 mockについて mockと言う用語、本エントリでは都合の良い値を返す仮想API、またその設定をすること くらいの意味合いで捉えていただければと思います。 背景 外部APIのmockが必要になるのはバックエンド開発をしていればそれなりに遭遇するケースですが、自分の経験上ではテストスイートの頭などでちょっとしたmockを作
こんにちは大塚(@maaash)です。7月からCTOに復帰しました。引き続きよろしくお願いいたします。 これは第2回 Nature Engineering Blog 祭11日目のエントリです。 昨日はファームウェア・エンジニアの村田さんによる Matterでやりたかったけどできなかったこと - Nature Engineering Blog でした。 今日のお話は、話題の新製品Remo nanoやMatterとは関係ありません。 背景 先週、黒田さんが ウン十万接続のALB SSL証明書を平和に更新したい - Nature Engineering Blog を書いてくれました。 その話は ALBを二台用意して緩やかに接続を移行するようにしたら、大変平和になって僕もみんなもハッピーになった。 という話でした。ALB blue-green deploymentを使うと、ウン十万のRemoたちが
この記事は 第 2 回 Nature Engineering Blog 祭の 10 日目の記事になります。 こんにちは、Nature ファームウェア・エンジニアの村田です。 Nature Remo nano (以降、nanoと呼びます) の開発においては、主にMatterに絡んだ部分の製品仕様決めやMatter認証取得周りを担っていました。 ちょっとファームウェアもしたりQAをやったりといろいろな役割をしていました。 Nature スマートリモコン Nature Remo nano ネイチャーリモ Remo-5W1 Alexa/Google Home/Siri対応 ネイチャー(Nature)Amazon さて、nano の発売から2週間ほど経ちました。 読者のみなさんの中には既に nano を Apple home と組み合わせて Matter 使ってみたという方もたくさんおられるのではな
こんにちはSREの黒田です。 これは第2回 Nature Engineering Blog 祭9日目のエントリです。 昨日はCorporate ITのマロニーによる GASを使って社内のSaaSアカウントを可視化しよう - Nature Engineering Blog でした。 昨日に続いて今日のお話も、話題の新製品Remo nanoやMatterとは関係ありません。 TL;DR WebSocketで大量に永続接続されているALBのSSL証明書を更新すると、接続がばっこんばっこん切られて大変なので、ALBを二台用意して緩やかに接続を移行するようにしたら、大変平和になって僕もみんなもハッピーになった。 背景 そもそもNatureではどこに何のためにWebSocketを使ってるの?って話から始めると長いので、詳しくはこちらを見ていただければと思います (結構前の資料なので今とは違う部分も色々
Nature ファームウェア・エンジニアの井田です。入社してから早いものであと1か月で1年が経ちます。 最近は一昨日 7/4 (火) に発売された Remo nano のファームウェア開発や生産工場向けのツールの開発を行っていました。 Nature スマートリモコン Nature Remo nano ネイチャーリモ Remo-5W1 Alexa/Google Home/Siri対応 ネイチャー(Nature)Amazon この記事は 第 2 回 Nature Engineering Blog 祭の 3 日目の記事になります。前日は 亀田さんによる、AndroidでのMatter検出時の画面切り替えを抑制する方法についての記事 でした。 Remo nanoの発売日に、田井さんによるRemo nanoを使ったMatter入門記事 が公開されましたので、既にRemo nanoを使ってMatter
Nature で iOS/Android あと Firmware チョットデキル亀田 @Gemmbu です。 これは 第2回Nature Engineering Blog祭 の二日目の記事です。 祭り ちなみに第1回ではPlaydate の開発を通じて開発環境を自ら拡張するというPlaydateを使ってごにょごにょしたあとemacsに旅立つ話を書きました。先日Playdate SDK 2.0.0が公開されたのですがネットワークAPIは公開されずemacsの旅からまだ帰れていません。今回はemacs出てこない予定ですので安心してください。 Matterを検出ってどういうこと? AndroidエンジニアでMatterデバイスを開発している方はまだまだ少ないと思いますが、実はAndroidは近くに未セットアップのMatterデバイス*1があると検出しちゃうんです。その様子がこちら Matterを
Nature ソフトウェアエンジニアの田井です。この記事は、第 2 回 Nature Engineering Blog 祭の 1 日目の記事になります!本日はめでたい日でした! Matter に対応した Nature Remo nano が発売されました! 本日 2023/7/4 12:00 より、Matter に対応した Nature Remo nano が発売されました!3,980 円で Matter デバイスが手に入るなんて…!これはハックしたくてうずうずしてきますね? (以降 Nature Remo nano を Remo nano, nano と呼ぶことがあります) nature.global 購入はこちらからもどうそ! https://www.amazon.co.jp/dp/B0C6V1CJB7 Matter ってなに? Matter ってなに?と思う方もいらっしゃると思います
ファームウェアエンジニアの中林 (id:tomo-wait-for-it-yuki) です。 Nature ではエンジニアチーム主催で LT 大会を運営しています。 2023年5月19日に第2回が開催され、私が LT した『本を読むべきたった1つの理由』を紹介します。 タイトル Nature では Nature Library という図書購入制度があります。 これまでに214冊の本がこの制度で購入されています。 創業者の塩出さんが最多で、30冊を購入しています。 次が私で24冊という利用状況です (エンジニアだと次点で北原さんが購入制度を利用しています) 。 LT 会での「本、読んでますか?」に対して、半数のメンバーが「読んでいる」と挙手をしていました。 本は偉大 発表の冒頭、いかに本が偉大であるかを力説しました。 本は実質無料! 本は偉大 勢いだけで適当に作ったスライドですが、Slack
Nature で事業開発を担当している 海原 (うみはら) です。 前職はエンジニアをしていまして、エンジニアリングブログ初投稿できる機会を密かに伺っていました 本エントリの趣旨 これまで法人向けにご提供してきました Nature Remo E 追加API を、この度一般向けに公開いたしました🎉 「Nature Remo に関するAPI」「Nature Remo E / E lite のスマートメーターに関するAPI」は以前も公開しておりましたが、ついに Nature Remo E 追加 API も仲間入りしました。 このエントリでは、一般公開した Nature Remo E 追加 API について一問一答形式でご紹介します! Nature Remo E 追加 API について Q. Nature Remo E って何ですか? 「Nature Remo E(ネイチャーリモイー)」は、コン
こんにちは、NatureでソフトウェアエンジニアをしているTakumiです。 Natureが提供しているモバイルアプリケーションNature RemoはReact Nativeを使って開発をしています。 元々はiOS/Androidともにネイティブで開発をしていましたが、2018年にReact Nativeに移行しています。 当時の詳しいことは次の記事をご覧ください。 engineering.nature.global Webアプリ開発者、React Nativeに出会う 今年の10月からNatureにジョインした私はWebアプリがメインの開発者でした。 ここ最近はReact、Nextjsを使っていてReact自体には知見がありましたが、モバイル開発は未知の領域。 そんな私が体験したReact Nativeのエピソード5選を共有したいと思います。 今回はコードはほとんど出てこないので安心(
この記事は Nature Remo Advent Calendar 2022/ M5Stack Advent Calendar 2022の13日目その1です。2個くらいに分けるから2つに属してても許してください。 adventar.org qiita.com というわけで、改めまして、ファームウェアエンジニアの井田です。 今年8月半ばからNatureでファームウェアエンジニアをやっています。 さて、今回はタイトルのとおり、 M5Paper で Remo/Remo E のセンサデータを表示するネタです。 M5Paperとは まず初めに M5Paperの説明から。 M5PaperはM5Stack社が製造・販売している、電子ペーパーを搭載した組込み向けのユニットです。 制御用のMCUとして、みなさんおなじみの ESP32 を搭載しており、無線LANやBluetoothによる無線通信を行いつつ、電
ソフトウェアエンジニアの北原です。 Nature Remo Advent Calendar 2022 の1日目です。(Nature の中の人はもちろん、Nature Remo の活用方法や cloud / Local API を使ってこんなツール作りました、まで Nature Remo に関する話題でしたら何でも歓迎です。 ぜひご参加ください。) adventar.org Nature のバックエンドは Go でおおよそが書かれています。Go 1.18 で Generics が導入されて以降少しずつライブラリは自ら Generics を利用しています。 今回はその中でも一番使用している github.com/samber/lo について紹介します。 github.com github.com/samber/lo は lodash ライクな関数を Go の Generics を使用して提供し
ファームウェアエンジニアの中林 (id:tomo-wait-for-it-yuki) です。Nature ではソフトウェアエンジニアの採用を積極的に進めており、継続的にメンバーが増えています。その状況の中、一度自分たちがどのようなビジョン、文化を持っているのかまとめて公開してみるのはどうか?という話になりました。 結論から言うとタイトルにある通り、Tech Vision を公開するのはやめよう、という話になりました。その代わり、Nature のソフトウェアエンジニアリングチームにどんな人が居て、どのような文化を持っているのか、をストーリーで伝えよう!と決めました。その第一弾が前日公開した「Nature Engineering Stories vol.1」です。 engineering.nature.global 本エントリでは、Tech Vision をまとめようとした発端や最終的にやめる
静かなお盆でおめでとうございます。 記録的な暑さが続く中、みなさんはいかようにお過ごしでしょうか。 こう暑いと部屋の中から一歩も出たくないというのが人情 しかし、部屋でエアコンをつけっぱなしにしていても暑かったり寒かったりしませんか? 私は今の家に引っ越してから特に感じていて、 というのも築50年代のリノベ物件のため基本的な断熱や密閉がとれていない家に引っ越したためです。 そこで、「実際にエアコンの運転ってどうなってるの?」というのを調べてみました。 それでは簡単に我が家の環境と、調べてみた内容を紹介したいと思います。 いつも仕事は、2階建ての2階、南西向きのめちゃくちゃ日当たりのいい部屋で行っています。 エアコンをつけずに外出すると、夏場は40℃を超える日もしょっちゅうです。 書斎の間取り エアコンは南側の壁に設置されており、仕事机はエアコンとは反対の廊下側に置いてます。 この部屋の、A
ファームウェアエンジニアの中林 (id:tomo-wait-for-it-yuki) です。Nature では Nature Library1 という図書購入制度があります。こちらの制度を利用して『ピアリング戦記 ― 日本のインターネットを繋ぐ技術者たち』を読んでいたところ、久しぶりに夢中で一気読みしてしまうほど面白かったので、社内に読書感想文を残すだけではもったいない、と思い感想を公開することにしました。 ピアリング戦記 ― 日本のインターネットを繋ぐ技術者たちwww.lambdanote.com 私このあたりのことは詳しくなく、BGP とか IX は言葉としては知っているけど…、程度でした。では、なぜこの本に興味を持ったか?というとラムダノートさんから出版された本だから、に尽きます。仕事の休憩中に twitter を見ていたらピアリング戦記に関する tweet が流れて来て、「へー、あ
まつり! Nature Engineering Blog祭 11日目、今日はソフトウェアエンジニアの的場がお届けします。 Natureにはファームウェアエンジニアとして入社しましたが、現在はバックエンドメイン、フロントエンド少々という感じでお仕事をしております。何を書こうかなと迷っていたのですが元々IoTが好きでこの会社を選んだこともあり、今回は私がファームウェア開発をメインにやっていた際に構築をしたファームウェアCD環境について紹介させてもらえればと思います。 IoT機器のファームウェアには大半の場合FOTAアップデート機能が実装されていると思います。 FOTAは Firmware Over-The-Air の略で、FOTAアップデートとはざっくりいうと無線によるファームウェアのアップデートです。Nature Remoの場合はアプリのデバイス一覧画面に赤いバッジが表示されている場合に選択
まつり! Nature Engineering Blog祭 も10日目、今日はファームウェアエンジニアの村田がお届けします。 今回のネタは『スマートメータのWi-SUN Bルート通信が安定しない原因の調査』です。 これは絶望的にニーズが無さそうな自覚がありますが、Nature Engineering Blog祭はNatureの技術に関することならなんでもいいよ!ということなので、このチャンスを活かして前から気になっていたことを仕事として堂々と調べてみましょう。 エネルギーマネジメント機器: Remo E / Remo E lite Natureでは家庭でのエネルギーマネジメントを実現するデバイスとして、Remo E / Remo E liteを販売しています。スマホアプリで電気の使用量や太陽光発電・蓄電などの電力状況をリアルタイムで把握したり、過去のデータをグラフで確認することができます。
はじめまして。 これは Nature Engineering Blog祭 の8日目の記事です。 箸休め回としての2回目、ハードウェア、特にエレキエンジニアリングのツールについて紹介します。 こんな文章を書くのは初めてなので、生暖かい目で読んでもらえると嬉しいです! 茶番 エレキ設計といえば、やっぱり回路シミュレーターd カスタマーサポート(以下、CS)「そんな事してる場合じゃないですよ!!Nature Remo mini 2が壊れたって問い合わせが、いくつか来ているんです!!」 私「な、なんだってぇ~~。回収して確認しよう!」 そして、数日後。。。 CS「実機確認したんですけど、やっぱり故障していそうです!!」 私「これは、電源ICが壊れてるね。この故障ってACアダプターの出力異常が可能性高い気がするんだけど、、、、そんなことあるのかなぁ・・・」 CS「わかりました!お客さまから使ってたA
Nature Engineering Blog祭り 7日目はCorporate ITのmaronyからお送りします。 簡単に自己紹介すると、Natureには今年の3月にJoinして、Corporate IT/情報マネジメント Roleという立場でいわゆる情シス的な業務をやっています。今までは総務やSREの方たちが片手間になんとかやっていた感じなので、純な情シスとしては1人目のメンバーです。最近はセキュリティ勉強会とかもしたりしてます。 今回は、KibelaからNotionに記事を機械的に移行しようとして大変だった話をします。(Notionのインポート仕様の話がメインです) 背景 NatureではもともとナレッジマネジメントツールとしてKibelaを使っていました。 2021年末ぐらいからNotionに移行することに決めたらしく、私がJoinした3月頭には新規記事は完全にNotionに作成す
6日目 こんにちはNatureのSRE 黒田 (kuroda (@lamanotrama) | Twitter) です。 本業はSREですが、ここ半年間はNotion導入推進大臣を自称して、色々と活動してきたので、今日はその内容をご紹介しようと思います。 背景 そもそもなぜSREがNotion導入を行っているのかというと、一言でいえば「なりゆき」です。 NatureではもともとKibelaをナレッジ・マネジメントツールとして利用していたのですが、2021年9月ごろから一部のスタッフの間で試験的にNotionの利用が開始されました。 数ヶ月の試用で利用者からの評判が良かったので「では、全社導入するか!」という機運になったものの、コンテンツ構成や権限管理における基本ポリシー・ルールが未整備であったため、全社導入に先立ってそのあたりの策定とスムーズな導入のための旗振り役が必要と思われました。 と
まつり! これは Nature Engineering Blog祭 のたぶん四日目の記事です。 箸休め回としてハードウェア、特にメカエンジニアリングのツールを紹介します。 メカエンジニアの必須ツールはずばりメカCADです。 しかし、メカエンジニアでメカCADが好きな人は少数派で、おおよそ10%~20%くらいの分布でしょうか。 数年前であれば、レーザー加工機やCNC、最近では3Dプリンターを使うためには必須のツールで、それがきっかけで興味を持った人も多いと思います。 Natureでは Creo/Parametric という、比較的高級なCADを使っています。 Creoの特長の一つとして、豊富なデータム定義があります。 聞きなれない単語が多く出ると思うので、まずはサンプルを交えながらデータムの便利さを紹介します。 データム定義とNature EV Nature Remoのデータではつまらないと
3日目! Nature Engineering Blog祭3日目は、ファームウェアエンジニアの中林 (id:tomo-wait-for-it-yuki) がお送りします。みなさま、自動テストはお好きですか?私は大好きです。手動で何度も同じことをテストするのは苦痛ですが、それをプログラミングのタスクに転化できるとなれば、最高ですよね! 今回はNature Remoのファームウェア開発で使用しているユニットテストフレームワーク『Catch2』の活用方法を紹介します。ESP-IDFで使えるテンプレートプロジェクトも用意してありますので、少し長いですが、最後まで楽しく読んでいただけると嬉しいです。 Catch2 Catch2は (modern) C++で書かれたユニットテストフレームワークです。Nature RemoのファームウェアはC言語で書いていますが、テストフレームワークはC++で書かれたも
Go 1.18が出てしばらく経ちました。みなさんGenerics使っていますか? @maaashです。 これは Nature Engineering Blog祭 の2日目の記事です。 祭り 最初は歓喜し、mapやfilter的なfor文を少しずつgithub.com/samber/loに切り替えたり、 internalなsliceパッケージを作ってみたり。 ですが心のどこかで欲求不満が蓄積されていくのを感じていました。 使い尽くしていないのでその真価が理解できていなくて物足りないような、 こんなに面白いおもちゃが与えられたのに遊び尽くしていないような感覚です。 Genericsを使ったコードを書きたい!と思いながら日々の業務でREST APIを書いていると、、 あれ、これはかの When To Use Genericsの結論にある: If you find yourself writing
Nature で iOS/Android あと Firmware チョットデキル亀田 @Gemmbu です。 これは Nature Engineering Blog祭 の一日目の記事です。 祭り モバイルエンジニアにとっては Google I/O 2022 や WWDC22 も終わり、アプリ対応スケジュールをもやもやと考えているころかと思います。 が、そろそろ日本にも Playdate の発送が始まるころだと思います。みなさんモバイルエンジニアとしてもちろんあの厳しい予約戦争を勝ち取りましたよね? Playdate Playdate をご存知だとは思いますが、軽く説明しますと。初代ゲームボーイを横長にして薄くして、ビビットイエローに塗って、何故か釣りコンが悪魔合体した素敵なデバイスです。 この説明だとあれなので公式へのリンクを貼っておきます。 play.date おもしろいのが 2 週間毎
ファームウェアエンジニアの中林 (id:tomo-wait-for-it-yuki) です。大好評の組込みRustで使えるライブラリをゆるく紹介していく「ぶらり組込みRustライブラリ探索の旅」シリーズ、第2弾はATコマンドクライアントライブラリのatatです。 私ごとですが、拙著「基礎から学ぶ組込みRust」ではネットワーク接続して遊ぶ、という内容が書けておらず、ずっとリベンジの機会を伺っています。atatは組込みRustでネットワーク接続して遊ぶ上で有力な選択肢になりそうなcrateです。 atat 本エントリ内で紹介する使い方や内部実装は、v0.16.1をもとにしています*1。 github.com https://docs.rs/atat/0.16.1/atat/index.html 特徴 atatはno_std環境で使用できるATコマンドクライアントライブラリです。embedde
次のページ
このページを最初にブックマークしてみませんか?
『Nature Engineering Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く