自作キーボード向けのUSB Type-C搭載のPro Microを作りました

TL;DR

  • 自作キーボード向けに,Pro Micro 5V/16MHz仕様にUSB Type-Cのレセプタクルをつけたボードを作った。
  • Elecrowで基板製造から実装までを依頼しました。
  • 今月末に出荷される予定です。
  • BOOTHで1つ4000円(送料別)で販売します。

USB Type-C搭載 Pro Microの概要

自作キーボードのマイコンボードとしてよく使用されているSparkFunのATmega32U4搭載ボード,Pro Microの回路に,micro USBの代わりにUSB-Type Cのレセプタクルを載せたマイコンボードです。5V,16MHz動作です。

回路図はGitHubにて公開しています。

github.com

回路の変更点は,3.3Vのレギュレータを省き,USB Type-CでUSBデバイス(UFP)として認識されるために必要なプルダウン抵抗を追加したのみで,ピンヘッダの配置等は変更していません。そのため,Pro Micro向けに作成したプログラムがそのまま書き込めます。

本品の写真はこちらです。ピンヘッダは付属しません。

f:id:gurigoroblog:20180529141244j:plain

製造と実装

今回,基板の製造から部品の実装までをElecrowに依頼しました。4月末に見積依頼を出し,5月頭に実際に発注をかけました。部品の調達は,マイコンとUSBレセプタクル,クリスタルはDigi-keyを,それ以外の部品は現地調達で依頼しました。5月20日ごろに製造が終わった連絡を受けて,発送をお願いし,5月末に到着しました。

販売予定

pixivの同人誌・同人グッズの販売マーケットのBOOTHにて販売を予定しています。現時点での在庫数は25個です。価格は税込み・送料別4,000円で,配送はヤマト運輸のネコポスで,送料は全国一律310円です。もしかしたら,スイッチサイエンスなどに委託をするかもしれません。

guri-tech.booth.pm

また,技術書典4で頒布したBLEセパレートキーボード本やESP32チョットデキルTシャツも同様にBOOTHで販売しているので,そちらもぜひよろしくお願いします。

技術書典4にサークル参加してきた

ぐりです。一週間前の技術書典4のレポートのようなものです。

  • 技術書典とは
  • 頒布物と頒布結果
  • 準備
    • 本の作成と印刷所
    • つり銭の準備
    • ブースの準備
  • さいごに

技術書典とは

一言で言うと,技術系同人誌オンリーの同人誌即売会です。これまでに過去3回開催されていて,ありえんぐらい悪天候だったらしいです。ちなみに,今回はバッチリ快晴でした。

今回の総参加者は6,380人だったそうです。わあ,すごい。一般入場の整理券の配布が待ち行列に追いつくまで5時間以上かかっているので,それまで会場内はずっと人で溢れかえっていました。ちなみに,『マンガでわかるDocker』を頒布されていた湊川あい氏が,行列が長すぎたようで我々の正面にブースを移動し(う4.5だったらしいです),屋外のテラスに行列を作っていました。私はタイミングを逃しました…。
techbookfest.org

頒布物と頒布結果

今回頒布したのは,『BLEセパレートキーボードを作ってみた1 ハードウェア編』と「ワタシハESP32チョットデキル Tシャツ」です。また,細々と基板も頒布していました。配置は自作キーボード3サークルで並べたそうです。

それぞれ,BOOTHで販売していますので,詳細はそちらを確認してください。

guri-tech.booth.pm

guri-tech.booth.pm

 

続きを読む

AWSのLambdaとAPI Gatewayで旧ブログURLからのリダイレクトを実現した

ぐりです。久しぶりに,技術系の記事です。

先日,技術書典4にサークル参加する準備をしているときに,名刺を見たらブログのURLが前のものでした。旧ブログを運用していたVPSサーバはもう契約していないので,どうにかして旧ブログのURLからこのブログへリダイレクトする必要があることに気がつきました。技術書典でその名刺を配ってしまってから,もう数日が経ってしまっていますが,どうにかリダイレクトが実現できたので,その方法を紹介します。

「さくらのレンタルサーバ」だと無理!?

さくらのレンタルサーバを契約しているので,旧ブログのドメインを割り当てて,.htaccessを書くとか,リダイレクトするHTMLを置くとかを考えました。

しかし,さくらのレンタルサーバ独自ドメインは自由度が低く,「あるサブドメインにAレコードを設定して,それだけさくらのレンタルサーバ」という設定ができないようでした。もしそれができたなら,技術書典の会場に着くまでにスマホでどうにか設定出来たのですが…

CNAMEでこのブログのURLを指定する??

よく考えればわかりますが,絶対に無理です。

このブログは,tlt.gurigoro.netからCNAMEレコードでhatenablog.comを指定することで,独自ドメインからアクセスできるようになっています。この設定は,はてなブログが指示しているものです。

旧ブログのサブドメインからCNAMEレコードでtlt.gurigoro.netを指定してあげればいいんじゃないかと思ってやってみましたが,はてなブログの404ページが出るだけでした。よく考えてみれば,はてなブログ側から見たら,旧ブログのURLに対応したブログを返そうとするわけで,そもそもリダイレクトにすらなっていません。

クラウドでどうにかする

全然使ったことがなかったAWS(Amazon Web Services)とかAzureを検討してみることにしました。AWSのEC2とかを使ってしまったら,VPSを使っていた頃に後戻りなので,それを避けて今流行りのサーバーレスで出来ないかと考えてみました。

そこで,旧ブログのサブドメインのアクセスをAWSAPI Gatewayで受けて,Lambdaを通してこのブログのURLを301で返すことでリダイレクトしようということにしました。

続きを読む

4/22 技術書典4@秋葉原UDX け-07にサークル参加します!

こんにちは,ぐりです。色々多忙すぎて記事を書く間も無く,3ヶ月も経ってました。反省。

  • まえがきみたいな
  • サークルの説明
  • 頒布物の紹介
    • 『BLEセパレートキーボードを作ってみた1 〜ハードウェア編〜』
      • 内容
    • BLEセパレートキーボード 左手用基板 R1 (基板のみ)
  • よろしくお願いします!

まえがきみたいな

さて,来たる4月22日,秋葉原UDXにて技術書典4が開催されます。いえーい!

技術書典はおろか,コミケにもまだ一回も行ったことありませんが,いきなりサークル参加を申し込んでしまったら当選いたしました。当日晴れるといいですね(フラグ

サークルの説明

サークルの説明や頒布物の説明です。

  • サークル名: Guri-Tech
  • 筆者名: ぐり
  • 配置場所: け-07

techbookfest.org

サークルは私1人のサークルです。「ぐり」じゃ寂しいので,Guri-Techにしました。サークルカットは,tessecraftという別サークルを一緒にやってるR氏に描いてもらいました。

f:id:gurigoroblog:20180405030005p:plain

twitter.com

続きを読む

秋月の通販のカートに入っている商品一覧をCSVに吐き出すChrome拡張「Akizuki Cart to CSV」を作った

ぐりです。タイトルの通り,Chrome拡張を作って公開したので宣伝です。

Akizuki Cart to CSVとは

みんな大好き,秋月電子通商の通販サイトで,カートに入れた商品の一覧をCSVで吐き出すことができるChrome拡張です。設計中に秋月のカートにぽいぽい入れておいて,CSVで吐いて部品リストにするとか,店舗に行く前に欲しいものを整理してCSVを印刷して持って行くとかに使えると思います。

操作は簡単,アドレスバーの横に表示される「Aki→CSV」のアイコンをクリックすると,ポップアップが出てきて,保存ボタンを押すとCSVでダウンロードされます。

f:id:gurigoroblog:20180113194519p:plain

入手はこちらから。気に入ったら,評価やレビュー,TwitterなどのSNSでの紹介を是非おねがいします。

chrome.google.com

内部の動作

内部のプログラムはJavaScript (ES2015)とjQueryを利用しています。同級生に絶対怒られるやつだ。ボタンをクリックすると,バックグラウンドで秋月電子通商の買い物かごのページにアクセスします。そして,カートの表をjQueryスクレイピングして,CSVに書き出しています。「2つ目のtdタグ」みたいな指定が沢山あります。なので,秋月のサイトのレイアウトが変わったりすると動かなくなります。

不具合とか,今後の展望

  • 数割(例えば10個以上買うと単価が安くなるとか)が適用された商品の単価が1個の時の値段になってしまう(合計や数量は表から取得しているので正しいです)
  • 表のヘッダを日本語・英語選択できるようにする(今はガバガバ英語です)
  • 列の順番を入れ替えられるようにする
  • 商品ページでブラケットで囲まれた半角英数字の型番(例:[ESP32-DevKitC])を取得できるようにする
  • 過去の購入履歴をCSVに吐き出せるようにする。

やるとは言ってないです。やって欲しかったら,投げ銭ください()

ソースコード

あとでGitHubに上げます。フォーク,プルリク大歓迎です。とりあえず.gitignoreを書いてからじゃないとまずい事になるので…

[1/13 20:38追記]

GitHubで公開しました。

github.com

最後に

これをChromeウェブストアに公開するのに,Googleに5USD払ったので,ぜひ投げ銭ください…

あと,作るきっかけと,紹介ツイートをしてくれたぽんず君(@pons658)に感謝です。

SPCお年玉CTF2018のWriteup

あけましておめでとうございます。今年もよろしくお願いします。

さて,私が所属するSPC同好会の部員(@akakou_py)がお年玉CTFを開催したので,せっかくなので取り組んでみたら,意外とあっさりできたので,Writeupを残しておきます。

問題

問題名は,Nabeatsuでした。あの3の倍数と3がつく数字の時にアホになる「世界のナベアツ」のことです。今は落語家をしているらしいですね。

問題はバイナリファイルが2つ,bokeとhutsuというファイル名でした。実際のファイルはSPCのslackの#randomから落とすか,直接akakouにもらってください。

解き方

まず,バイナリファイル2つを眺めました。バイナリファイルを眺める時のポイントは,最初の数バイトのマジックナンバーですね。

hutsuの先頭です。

f:id:gurigoroblog:20180101162721p:plain

16進数で,89 50 47 0D 1A 0A 00 00 48 52で始まってます。これに一番似たものが,PNGファイルのシグネチャとイメージヘッダの一部,89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52でした。赤文字にしたところが,hutsuファイルに欠けているところです。ここで,bokeファイルをみてみます。

f:id:gurigoroblog:20180101163327p:plain

先ほど赤文字で書いた 4E 0A 00 0D 49 44が含まれていることがわかります。ということは,この2つのファイルを合体させるとPNGイメージファイルが得られそうだとわかります。

ここで,法則性をみていきます。まあ,簡単です。問題名がNabeatsuであることからすぐわかります。3の倍数と(10進数で)3のつく数字のバイト数のときはbokeから,それ以外の時はhutsuから1バイトずつ持ってこればいいようです。

というわけで,Cで適当に合体させるためのプログラムを書きました。クッソ汚いですが…

プログラム

特に(10進数で)3のつく数字かどうか判定する文がひどいですね。クソ長いけどこう書いちゃうのが手っ取り早いと思ったので…

答え

年賀状の裏面のようなPNGイメージが得られました。

f:id:gurigoroblog:20180101171555p:plain

答えは,FLAG{H@PPY_NEW_YEAR_DA_WAN_!} でした。

感想

初CTFでしたが,意外とあっさりとできてしまいました。解答の送信は1:01で,問題のアップロードが0:10だったので,解答まで51分でした。一番早かったらしいです。

半分勘みたいなのが当たったのと,プログラムが一発で動いてくれたので,あまり悩まずにすみました。楽しいですよ,CTF。というわけで,お年玉はいただきました〜!!

今年の振り返りと来年の目標

気づけばもう大晦日,とりあえず今年のまとめと,来年の目標でも書いておきます。

今年のまとめ

今年あったことをジャンル別にリストアップしておきます。実は意外と濃かったりするけど,高専4年ということでだらだらとした1年でした。

イベント系

  • 「mbed祭り 2017@春の新横浜」(2/25)に参加
  • 「NT京都2017」(3/19)に出展(動かないVVVFインバータ,ESP-Printer(仮))
  • 「mbed祭り 2017@秋の虎ノ門」(10/14)に参加
  • 「SCF/計測展 2017」(11/29〜12/1)にて,ナダ電子さんのユーザ作品事例としてESP-Printer R1を展示
  • 「NT加賀2017」(12/16,17)に出展(ESP-Printer R1,LED方向幕)

Maker Faire Tokyoは案の定落ちましたorz。来年こそは行きたい。NTは京都と加賀に参加しました。本当は金沢も名古屋も行きたかったけど,金銭的に死ぬわ。もうちょっと関東よりで開催してほしいな。

学校系

あまり詳しくは書けないですが,まあ,4年なので慣れと飽きがきてだらだらと…

勉強系

  • 編入試験勉強するする詐欺をした
  • TOEICを何回か受けた(スコア700→655→750(IP))

勉強はしていません!!ネスぺも申し込んだけど,起床試験で落ちました!!

その他

  • 友人と2泊3日で羽田空港と成田空港をただ見学しに行く旅をした
  • 国際ロボコンFRC Team5701のメンバーとして,1週間ハワイに行った
  • 実はこっそりと総務省の異能vationに申し込んで,最終選考まで進んでいた

来年はセントレアに行ってBoeing 747-400 LCF Dreamlifter見たいところ。伊丹空港の千里川土手も行きたいなと思うが,スマホのカメラで行ったら勿体無いのでね…

来年はハワイにはいかないです。お金が(ry

来年の目標

来年やることをここで明言しておかないと,やろうと思っただけで終わるので,書いておくことにします。実は今までも企画して作りかけただけで公開してない物いっぱいあるので,公開だけでもしたいなということで。

ものづくりとかの趣味系

  • 動かないVVVFインバータをいい加減動くようにする
  • 20歳になったらAppleのDeveloper Programに申し込む
  • tessecraftの裏側用iPhoneアプリを作る
  • BLEのセパレートキーボードを作る
  • 何かしらの技術系の薄い本を書く(実は厚い本も書く予定あり
  • スタンドアロン発車ベルスイッチを作る
  • スタンドアロンドアスイッチも作りたいな
  • RにLEDキューブキットを作るように圧力をかける or 2人で開発する

イベント系

  • 春夏秋冬のNT全部に出展する(多分厳しい
  • 技術書典4に申し込む
  • 有償頒布できるような作品を用意する

その他

  • 最低,週1ぐらいのペースでこのブログを更新する
  • 卒業後の進路をとりあえず確定させる

来年もよろしくお願いします

来年もゆるーく色々作っていきます。作ったらこまめに公開していくようにするので,楽しみにしてください。

では,みなさん,来年も良いお年を。