無線IoTキーボード「AZ-Macro」を使ってみたよ!

2021/02/24

IT/IoT 電子工作

こんにちは!IoT女子のさきです!
今回は「パレットシステム」さんから2021年1月6日より新販売の、色々な事が出来る楽しい無線キーボード「AZ-Macro(アズマクロ)」を使ってみました!
AZ-Macroとさき1

無線キーボード「AZ-Macro」(アズマクロ)とは

一般的なキーボードというとPCで使用するキーボード(フルキーボードといいます)を想像しますが、AZ-Macroはキーが8つで構成されたコンパクトなキーボードです。

内蔵バッテリーで動き、充電はmicro USB(Andoroid系のスマホで多く使われているのと同じタイプ)で行ないます。

AZ-Macro

8つのキーそれぞれに機能を割り当て、ワンタッチで任意の機能を呼び出すという使い方をします。

実装されている機能(2021年2月現在)は、

です!

特に注目すべきはWebhook機能で、AZ-Macroを自宅のWi-Fiに接続することでAZ-Macro自体がインターネットに繋がるのでインターネットを介した処理(Webhookという概念については次項で説明!)ができるようになります。

実際に使用するときも、PCやスマホとの接続はBluetoothで行なうので接続も楽ちん♪(設定モードの時はAZ-MacroがWi-Fiアクセスポイントとなり、Wi-Fi接続)

実際に各機能を設定して使ってみましたので、ぜひご覧くださいね!

Webhookとは?

Webhook(ウェブフック)という機能が使えると書きましたが、それが何なのか知らない方のために簡単に説明します!
Webhookとは、例えばどこかのサイトで「お問い合わせ」をする時、自分の情報だとかお問い合わせ内容を書いて、送信しますよね。

このお問い合わせページでの動きをWebhook的な流れで図にすると、次のようになります。

つまりWebhookというのは、「イベントが発生したら、どこかのURLに、何か送信する」というのを自動化した仕組みのことを言います!

AZ-Macroで説明すると、キーを押す(イベント発生)と設定したURLに、設定したデータを送信するという感じになります。

この記事でも実際にやってみますが、IoT家電はAPIが公開されているものが結構あるので、Webhookを使うことでIoT家電の操作をAZ-Macroからできるようになります。(ちなみにAPIは一言で言うなら、あるソフトウェアの機能やサービスの一部を外部から操作等できるようにした機能です。)

また、AZ-MacroのWebhook機能は「テキスト入力機能」も併せ持っていて、通信のステータスコードやレスポンスデータをメモ帳などに自動入力させることができます。

AZ-Macroの部品紹介

こちらがAZ-Macroのセット内容物です!
AZ-Macroの内容物

バッテリーは、同梱されているセットとされていないセットがあります。

バッテリーについて

バッテリーはリチウムイオンポリマーのタイプです(通称:リポバッテリー)。
このタイプのバッテリーはスマホなどでも使用されている一般的なものですが、ひとつ注意点があります。

組み立てた状態でバッテリーが製品内部に収納されている状態なら特に問題は無いのですが、バッテリーをむき出しの状態で置いておいて、うっかり穴をあけたりしてしまうと発火します

組み立てるまでの間の保管が不安な方は、このタイプのバッテリー用のセーフティーバッグが販売されていますので、こういった製品を用意するのも良いですね。値段も手ごろです。

別途必要になる「キースイッチ」と「キーキャップ」

これらのセットに加えて、「キースイッチ」と「キーキャップ」が別途必要です。
「CHERRY MX」もしくは「Kailh ロープロファイル」という2つのタイプのキースイッチに対応しています。

今回は、「Kailh ロープロファイル」を使用しました!
AZ-Macro キー

使用した工具

使用した工具はこちら。
使用した工具

ナットをきちんと締めるのにラジオペンチとかがあると作業しやすいです!
それと、初期不良確認テストなどで、ピンセットは通電する材質である必要があります。通電性のあるものを用意してね♪
私はすごく精密なピンセット用意したら、コーティングがしてあって通電せず買い足しになりました…。
このピンセット自体はすごくいいものだったので、また別の何かに使おうと思います。

組み立てについて

詳しい作業手順は、パレットシステムさんの作成マニュアルを見て下さい!
組み立てる前の初期不良確認テストのやり方も載っています。

この記事では、組み立て工程は内容物と工具の紹介のみで割愛しますが、YouTubeの動画の方ではお見せしています!よかったら見てね!

YouTubeで見る

初期設定

組み立ても終わりましたので、初期設定を行ないます!

初期設定だけでなく、全ての設定に関する事柄はパレットシステムさんの設定マニュアルに詳しい情報がありますので、そちらも参照して下さい!

設定画面を開く

AZ-Macroは、キー0番を押した状態で電源を入れると設定モードで起動します。

設定モードの時はAZ-MacroがWi-Fiアクセスポイントとなり、PCやスマホからWi-Fiで接続します。
W-Fiアクセスポイント

Wi-Fi接続ができたら自動的に設定画面が表示されますが、利用環境次第では表示されないケースもありますので、その場合は「http://192.168.4.1/」にアクセスして、設定ページを開きましょう。

AZ-Macroを自宅のWi-Fiに接続

Webhook機能を使うには、AZ-Macroをインターネットへと接続する必要があります。

自宅のWi-FiのSSIDとパスワードをAZ-Macroに設定し、インターネットに接続できるようにしましょう。

設定メニューの「WiFi設定」で、自宅のWi-Fi情報を設定します。特に難しいポイントもなく、簡単に設定できるかと思います。

ちなみに、Wi-Fi設定を完了すると次回以降の起動時(設定モード除く)に、AZ-Macroの緑色のLEDが最初に「タタッ、タタッ」という具合に、2回ずつ点滅するようになります。
これはWi-Fiに接続中であることを表しているので、点滅が終わって完全にLEDが点灯状態になってから操作するようにしましょう!

ファームウェアのアップデート

AZ-Macroは、出荷時点のファームウェアのままではBluetooth接続ができません。

ですので、初期設定の時に公式で公開されている最新のファームウェアへアップデートします。こうすることでBluetooth接続ができるようになります。

ファームウェアのファイルは事前にダウンロードしておきます。設定画面からファイルを選択し読み込み、保存するだけで簡単です。

詳しくはパレットシステムさんの初期セットアップマニュアルをご覧ください!

※ファームウェアアップデートの最後に「ページを閉じて下さい」という画面になりますが、ここでしっかりページを閉じないと更新が設定画面に反映されてなくて「あれ?」となることがあります。ページはしっかり閉じましょう!

どんなことが出来るの?各機能を実際に使ってみた

では、AZ-Macroの各機能を実際に使ってみた5つの使用例をご紹介します。
AZ-Macroとさき2

一連の内容を紹介したYouTube動画も公開しているのでよかったらそっちもチェックしてみてね!

YouTubeで見る

全ての設定に関する事柄はパレットシステムさんの設定マニュアルに詳しい情報がありますので、そちらも参照して下さい!

PCやスマホと接続する

AZ-Macroはスタンドアローンでは動きません(2021年2月現在)ので、使用する際は必ずPCかスマホとBluetooth接続しましょう。

また、設定を行なう時は初期設定の時と同様、Wi-Fiで接続します。

もしPCでBluetooth機能やWi-Fi機能がない場合は、USBの子機も売っているのでそちらを利用するといいよ!

①ショートカットキー登録(キー入力機能)

フルキーボードでは「どのキーを押すと何が入力されるか」は全て決まっていますが、AZ-Macroはこれらを自由に設定することができます。

「A」とか「C」などの文字はもちろん、「Ctrl」や「Alt」といったキーも設定できます。

Apple製品系のキーボードにある「Eject」キーも使用可能です(詳しくは後述しますが、iPhoneでAZ-Macroを使用する時はこれとっても重要なキーになります)。

この機能のポイントは「複数キーの同時押し」を1つのキーに設定できるという点です(最大5キーまで同時押し可能)。
例えばコピペのショートカットキーは「Ctrl + C」「Ctrl + V」ですが、これらをそれぞれ1キーで入力できる、ということです。

私はWeb制作などの仕事の時に、Adobe CC、とりわけPhotoshopをよく使用するのですが、フォトショのショートカットキーって種類も多いし、だいたいが3キー同時押しで大変です。なので、私的には「AZ-Macro すごくいい!!」ってなった一番のポイントでした!

設定方法は、設定したいキーを選択し「動作」の項目を「通常キー入力」にして、キーを選択したり追加するだけです。
キー入力の設定

今回はメモ帳でコピペを試してみました。ラグもなく、スムーズに動作してくれました!

iOSではEjectキーを設定しよう!

iOSは、Bluetoothでキーボードが接続されると、ソフトウェアキーボード(いつも普通に文字入力に使ってるアレ)が非表示になって出てこなくなります

AZ-Macroはフルキーボードではないので、Bluetooth接続で別でフルキーボードを用意しないと文字入力が実質不可能に....。

ということはありません。

実は、iOSは外付けキーボードを使用時に「Eject」というキーを入力すると、ソフトウェアキーボードの表示・非表示を切り替えることができます

ですので、AZ-MacroにEjectキーを設定しておくことで、文字入力が問題なくできるようになる、というわけです!これはとっても助かります!

②メールアドレスをワンタッチで自動入力(テキスト入力機能)

予め設定しておいたテキストを、ワンタッチで自動入力する機能です。
(2021年2月現在では、半角文字の入力に対応)

頻繁に使うテキスト、例えばメールアドレス等を設定しておくと便利な機能です。

設定方法は、設定したいキーを選択し「動作」の項目を「テキスト入力」にして、テキストを入力します。
テキスト入力の設定

長いメールアドレス打つのめんどくさいので、これで一件落着です♪

③おみくじを引く(Webhook機能)

Webhookの使用感を確認するのに、とりあえずPOSTデータとかもいらず、URLを指定するだけで動く「おみくじ」を用意しました!

IoT神社?のおみくじ

よかったら使ってみてね!
(ちなみに、5%の確率で「Sakichi」が出るよ!)

AZ-Macroで設定するには、設定したいキーを選択し「動作」を「Webフック」にし、「URL」におみくじのURLを設定します。
おみくじURL→http://omikuji.sakiot.com/

AZ-MacroがWebhookで取ってきたおみくじの結果をメモ帳などにテキストで出力させるために、設定画面下の「キー動作」を「HTTPレスポンスを入力」にします。
AZ-Macro おみくじ設定

設定を保存して再起動しましょう。

おみくじを引くときは、メモ帳などを開いて、文字を入力できるようにカーソルを合わせておきます。

おみくじを引いてみましょう!何が出たかな??

④IFTTT経由でツイートする(Webhook機能)

Twitterは色々なAPIを手軽に扱えるサービスのひとつです。多分、API経由でできない操作は無いんじゃないかな?というくらいです。

ただ、TwitterのAPIを使用するのは、アカウント認証とか色々自力でやる必要があるので、そこそこ知識が無いと大変です。

そこで今回は、IFTTT(イフト)というサービスを利用して、これ経由でツイートしてみようと思います。

IFTTTのアカウントは既にある、という前提で進めます。

IFTTTの設定

まず、メニューの「Create」からアプレットの作成画面に入ります。
「何かが起きたら」「何かをする」というフロー図があって、視覚的にわかりやすいです。

まずは、「何かが起きたら」のところの設定をするので、クリックします。
IFTTTの説明1

サービスの選択画面が開きますので、「Webhooks」を選択します。
IFTTTの説明2

「Webhooks」でイベントを作成します。
IFTTTの説明3

「何かが起きたら」の部分に「Webhooks」が設定されました。続いて、「何かをする」の部分にTwitterを設定します。
IFTTTの説明4

色々と凝った操作もできそうですが、ひとまず普通にツイートするだけの機能を選択します。
TwitterアカウントとIFTTTの連携認証を求められるので、認証します(一度認証したら、手動で解除しない限り認証されっぱなしです)。
IFTTTの説明5

ツイート内容を入力し、設定します。
ここで注意なのですが、Twitterは仕様上、まったく同じ文面を連続してツイートできません。なので、「OccurredAt(日付・時刻情報)」をツイートに含めるようにして「同じ文面」にならないようにします。
IFTTTの説明6

「何かをする」の部分にTwitterが設定されました。アプレットの設定を保存します。
IFTTTの説明7

アプレットの作成が完了しましたが、肝心のWebhookでアクセスすべきURLがわかりませんので、確認しましょう。
「Webhooks」の詳細ドキュメントを確認します。
IFTTTの説明8

「Webhooks」で作成したイベント名を入力欄に入れると、自動でURLが生成されましたので、これをコピーして使います。
「curl -X POST」とか書いてあるのはコマンドから操作する時の記述ですので、普通にURLだけをコピーでOKです。

悪用される恐れがありますので、keyは他人に知られないようにして下さい。URLにもkeyは含まれていますので、URLも他人には教えるべきではありません。
IFTTTの説明9

以上で、IFTTT側の操作はおしまいです。

AZ-Macroの設定

設定したいキーを選択し「動作」を「Webフック」にし「URL」にIFTTTで取得したURLを設定します。
AZ-Macroでツイートする設定

設定したら、設定を保存して再起動しましょう。

ツイートしてみる

こちらが、実際にAZ-MacroからIFTTT経由でツイートした画像です!
AZ-Macroで実際にしたツイート

ちゃんとツイートできました!

もっと実用的に凝ったことをするなら、例えば温湿度などの環境値を取得してそれをツイート、とかそんな使い方もできそうですね!

⑤照明をつける!スマートリモコン「Nature Remo mini」と連携(webhook機能)

照明やエアコン等のリモコンから出る信号を学習させ、リモコンとして機能する「学習リモコン」というものがあります。

学習リモコンをIoT化したものが「スマートリモコン」と呼ばれるものです。

今回はスマートリモコンの一種である「Nature Remo mini」をAZ-Macroから操作して、照明のオンオフをやってみたいと思います!
Nature Remo Mini

なお、「Nature Remo mini」をスマホアプリ「Nature Rem‪o」と連携・登録して、リモコンは学習済みの状態であることを前提として進めます。

「Nature Remo mini」のAPIをチェック

「Nature Remo mini」は通常、スマホアプリから操作します。

ですがスマホアプリからだけでなく、外部からAPI経由で操作したり、情報を取得することができるんです。

どんなAPIが用意されているのかはNature APIのドキュメントに一覧がありますので、これらを見ながらやっていこうと思います。

「アクセストークン」を発行する

勝手に第三者が機器を操作できないよう、APIを使用する時は「アクセストークン」というものを使用します。

アクセストークンはhttps://home.nature.global/から発行することができます。

上記ページにアクセスすると、まずはログインを求められますので、スマホアプリ「Nature Rem‪o」のログイン情報と同じものを入力します。ここで同じログイン情報を使うので、所有デバイスなどの紐づけができるわけですね。
Nature説明1

ログインメールが登録メールアドレスに送られますので、メールに記載されているリンクを開き、リクエストを許可します。
Nature説明2

「Generate access token」をクリックし、アクセストークンを発行します。
アクセストークンを他人に知られると危険ですので、知られないようにしましょう。

また、アクセストークンは発行時しか表示されませんので、コピーするなりして保管しておきます。
もし他人に知られてしまったり、トークンがわからなくなってしまったら「Revoke」でアクセストークンを削除して再発行しましょう。
Nature説明3

アクセストークンを発行できましたので、APIを使用できるようになりました。

Appliance IDと、ボタン名を調べる

実際にNature Remo miniで照明を操作するためのAPIは、Nature APIのドキュメントでいうところの「/1/appliances/{appliance}/light」というものを使用します。

Copy
                                            
                                                /1/appliances/{appliance}/light
                                            
                                        

この{appliance}の部分に入るIDがわからないので、調べます。

APIは「/1/appliances」というやつです(情報取得なので、GETの方)。

Copy
                                            
                                                /1/appliances
                                            
                                        

これは相対URLなので、実際にアクセスするURLは「https://api.nature.global/」を頭につけて、「https://api.nature.global/1/appliances」となります。

Copy
                                            
                                                https://api.nature.global/1/appliances
                                            
                                        

ですが、これをそのままブラウザに入れても401エラー、つまり認証エラーとなるので、「Header情報」にアクセストークンの情報を含める必要があります。

ちょっと難しく感じますが、Google Chromeには「Advanced REST client」というアプリがあるので、これを利用するとかなりお手軽にできます!

インストールはちゃちゃっと割愛して....。

Advanced REST clientを起動すると、初期画面でもう色々と入力できる状態になっています。

URLを「https://api.nature.global/1/appliances」にして、Header情報に2つの項目を追加します。Header情報の入力欄は「HEADER ADD」ボタンで適宜追加しましょう。

Header name Header value
accept application/json
authorization Bearer 取得したアクセストークン

「Bearer 取得したアクセストークン」は、アクセストークンが「abcdfeg0123456789」だとすると、次のような記述になります。

Copy
                                            
                                                Bearer abcdfeg0123456789
                                            
                                        

「Method」は「GET」にします。

入力が完了したら、URL横の「SEND」をクリック。これで、Header情報を追加した状態でのアクセスとなります。
ARC説明1

通信に成功するとJSON形式でデータが返ってきます。

「id」という項目を探すのですが、いろんなところに「id」の記述があるので間違えないように注意。

必要な「id」は、一番最初に出てくる、何の入れ子にもなっていない「id」の値です。
これも、他人には教えない方が良いでしょう。
ARCの説明2

Appliance IDを取得できたので、次はボタン名です。
今取得したJSONに含まれていますので、それっぽいのを探します。うちのはこんな感じでした。
ARCの説明3

「on」と「off」。そのまんまでしたね。
他にも色味を変えたり照度を調整したりするボタンのデータもあります。

Advanced REST clientを利用して、これらの情報でちゃんと動作するかのテストもできますが、長くなるので割愛し、AZ-Macroの設定に入ります!

AZ-Macroの設定

設定したいキーを選択し「動作」を「Webフック」にします。

「URL」には、NatureのAPI「/1/appliances/{appliance}/light」を入れますが、{appliance}の部分は先ほど取得したAppliance IDを入れてあげましょう。

Appliance IDが「abcdfeg0123456789」だとすると、次のようなURLとなります。

Copy
                                            
                                                https://api.nature.global/1/appliances/abcdfeg0123456789/light
                                            
                                        

加えて、3つのHeader情報を追加します。

Header name Header value
accept application/json
Content-Type application/x-www-form-urlencoded
authorization Bearer 取得したアクセストークン

最後に、「POSTデータ」にボタンに関する情報を入力します。特に難しいことはなく「button=on」とか「button=off」と入力するだけです。
remo miniのAZ-Macroの設定

設定を保存して再起動し、動作させてみましょう。

使ってみる!

キーをぽちっと。

ピピッ!
AZ-Macroで照明をオンにできた

照明のオンオフがしっかりできました!

その他便利な機能 「レイヤー切替」

今回はちょうど全部で8キーぴったりで間に合ったので使わなかった機能です。

AZ-Macroはキーが8つで、それぞれのキーに機能を割り当てます。
では、最大で8つの機能までしか使えないのでしょうか。

そんな時に役立つのが、このレイヤー切替機能です。

AZ-Macroには「レイヤー」という概念があり、8つのキーの設定内容をレイヤーごとに設定できます。

わかりやすく例を出します。

まず、レイヤー0がデフォルトの状態です。キーを普通に押したら、レイヤー0の設定値を元に動作します。
例えばここで、キー0番にレイヤー1への切替機能を割り当てると、キー0番を押している間だけ、他のキーは「レイヤー1」モードで動作します。

つまり、レイヤー0ではキー1は「テキスト入力」だったのが、キー0を押している間(つまりレイヤー1で動作している間)は「Webhook」で動作する、というようなことができます。

これを利用することで、キーが8つでありながらも、より多くの機能設定が可能となります。

AZ-Macroはどこで買えるの?お店の情報

AZ-Macroは、クリエイターズマーケット「BOOTH」さんと、「遊舎工房」さんで購入出来ます。
また、実際に見てから買いたいという方は「遊舎工房」さんの店頭に足を運んでみてください♪

別売のキースイッチとキーキャップについては、規格さえ合っていれば比較的どこでも入手可能です。
心配な方はBOOTHの販売ページの方にパレットシステムさんが自身で作る時に使用したのと同じものが紹介されていますので、同じキースイッチ・キーキャップを揃えてもいいですね!

まとめ

AZ-Macroはプログラミング不要で使えたり、APIが公開されているサービスとの連携も簡単です!

なので是非、IoTに興味がある方やこういうデバイスを使ったことない方にも使ってみてほしいです♪

キー動作を自由に設定できるので、自分の作業スタイルに合わせて柔軟なカスタマイズができるのはとても魅力的です。

フルキーボードを真ん中に、右にマウス、左にAZ-Macroで作業するのはとても捗りそうです!
AZ-Macroの使用イメージ

それではまたね!