Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Pythonでバイトリテラルやるなら、やっぱり一バイトごとにやらんといけない

組み込み機器で使うデータ列を生成するとき、pythonで適当に書き捨てたられたら便利ですね。
これ、format構文を使えば楽です。

実際のところ

単純にバイトリテラルな値を操作したい場合

'\x12' + '\x01'
#>> '\x12\x01'

文字列と同じ扱いでできるので

'\x12\x01'[0]
#>> '\x12'

'\x12\x01'[1]
#>> '\x01'

横着すると……

一バイトごとでしか扱わないので、横着して複数バイト分ぶち込んでもアスキー文字の数値が入ってるだけです。

'\x12' + '\x0100'
'\x12\x0100'

'\x12\x0100'[2]
'0'

リンク

01な値を出力したい場合やHex値の文字列を生成したい場合は過去の記事に参考になるのがあるかもしれません

shuzo-kino.hateblo.jp

shuzo-kino.hateblo.jp

shuzo-kino.hateblo.jp

参考もと

stackoverflow.com

【読書メモ】プレゼンテーションZEN

プレゼンテーションZEN 第2版

プレゼンテーションZEN 第2版

  • 作者:Garr Reynolds
  • 発売日: 2014/02/21
  • メディア: 単行本(ソフトカバー)
プレゼンテーションZENデザイン

プレゼンテーションZENデザイン

  • 作者:Garr Reynolds
  • 発売日: 2014/03/15
  • メディア: 単行本(ソフトカバー)

部屋の整理をしていたら懐かしい物が出てきたので読み返してました。
タイトル通り、プレゼンテーション方法に関する本です。
本書で提示されている基本方針は「抑制」「シンプル」「自然さ」。

【読書メモ】総合国語便覧

総合国語便覧

総合国語便覧

義務教育中にもらった副読本がやり直し学習に有用というのは、割と最近
歴史だと山川の詳説シリーズが有名ですね。

今回紹介する国語便覧は名前の通り国語の副読本です。
気の利いた文章を書きたい人とか俳句の季語、あるいは作家の略歴を知りたいときに便利かも。
同音異義語だとか漢文の基礎構成、さらには小論文の組み立て方みたいな内容もありました。
面白いところでは民家の間取りや庶民の生活といったコラムもあり、それだけ読んでるのも面白いです。

めちゃくちゃ内容が充実してる本誌ですが、なんとお値段880円(2002年当時)。
こんなの社会人向けのコーナーで買ったら3倍はするし内容もここまで充実していないでしょう。
う〜ん……失ってわかる、この有り難みよ。

【読書メモ】物理数学の直観的方法―理工系で学ぶ数学「難所突破」の特効薬〈普及版〉 (ブルーバックス)

信頼と実績のブルーバックスシリーズ。
タイトルの通り、物理や工学で使うような数学について。
数学的厳密性はある程度オミットされているため、ガチの数学屋さんにとっては誤解を生むウンタラと評判がよろしくない様子。

他にも、経済数学のもあるみたいです

PythonでAWS IoT をつかう その2:DynamoDBにアップロードする

前回の続き。
AWS IoTだけでは機能しないので、AWSサービスの一つであるDynamoDBにアップロードを試みてみます。

記述増強中...

実際のところ

f:id:shuzo_kino:20200318022008p:plain


f:id:shuzo_kino:20200318022040p:plain

f:id:shuzo_kino:20200318022105p:plain

f:id:shuzo_kino:20200318022209p:plain

「新しいリソース」を選択すると、DynamoDBのページに飛びます。
f:id:shuzo_kino:20200318022225p:plain

ソートキーは任意っぽい感じで書かれてますが、
半端な理解で略すよりは書いた方が良さそうです。
f:id:shuzo_kino:20200318022334p:plain

テスト機能で投稿をためす

トピック名は
f:id:shuzo_kino:20200318022438p:plain

テスト機能ページはこんな画面。
ここに、先ほどゲットしたトピック名を記入します。
f:id:shuzo_kino:20200318022836p:plain

DynamoDBの中身をみると、
f:id:shuzo_kino:20200318022859p:plain


client IDをbasicPubSub、
topicをsdk/test/Pythonにするという恥も外聞もない方法で接続を確認

感想

下調べも早々にDynamoDBの構築に挑戦したわけですsが、初見には厳しすぎましたね……。

PythonでAWS IoT をつかう その1:環境構築

f:id:shuzo_kino:20200317235208p:plain


f:id:shuzo_kino:20200317235226p:plain


f:id:shuzo_kino:20200317235236p:plain

実際の設定をはじめる

f:id:shuzo_kino:20200317235242p:plain

f:id:shuzo_kino:20200317235256p:plain

f:id:shuzo_kino:20200317235323p:plain

f:id:shuzo_kino:20200317235341p:plain

f:id:shuzo_kino:20200317235419p:plain

うごかす

$ cd connect_device_package
$ chmod +x start.sh
$ sudo ./start.sh

放置するとこんな感じに
f:id:shuzo_kino:20200317235435p:plain

pythonは?

先ほどのstart.shの最後の方にこんな行が。
めちゃくちゃオプションが多いように見えますが、ほとんどは自動生成で導入される暗号キーの読み込みです。
こいつを加工すれば、任意のパケットを送信できるわけですね。

python aws-iot-device-sdk-python/samples/basicPubSub/basicPubSub.py -e XXX.iot.YYY.amazonaws.com -r root-CA.crt -c ZZZ.cert.pem -k ZZZ.private.key

次は……?

このままではデータの活用ができません。
アクションにて、データを格納し直す必要があります。
今回はAWSのDBサービスDynamoDBを使ってみます。