IToTの覚え書き

マイクロビット、アルドゥイーノ、ラズベリーパイなどで楽しい道具を作る趣味のサイトです。 基本的に自分用の覚え書きです。

2019年04月


カルテを開いて


診療開始


主訴・診断


クリック


おまけ・翻訳

本の検索システムを作っている途中で思いついた。
グーグルホームに日本語をしゃべったら、英語、スペイン語、中国語、スペイン語、ロシア語に翻訳して順番にしゃべらせる。(多分103ヶ国語に拡張可能)

ピンは要らないので一番小さいESP8266のWemos D1 miniを使ってみよう。大きさも価格も500円玉くらいだ。要注意なのはArduinoIDEでボード設定は Wemos D1 Lite にすること。

1.グーグルホームにしゃべったらIFTTT(イフト)のトリガーはgoogle assitantで、アクションはWebHooksでグーグルスプレッドシートに日本語のテキストをポストする。

2.グーグルスプレッドシートの設定。ここで日本語のテキストを翻訳する。
B2セルは=GOOGLETRANSLATE(A2,"ja","en")
C2セルは=GOOGLETRANSLATE(A2,"ja","es")
D2セルは=GOOGLETRANSLATE(A2,"ja","zh-CN")
E2セルは=GOOGLETRANSLATE(A2,"ja","fr")
F2セルは=GOOGLETRANSLATE(A2,"ja","ru")
B3セルは="http://*****.xyz:50024/?en="&B2
C3セルは="http://*****.xyz:50024/?es="&C2
D3セルは="http://*****.xyz:50024/?zh-CN="&D2
E3セルは="http://*****.xyz:50024/?fr="&E2
F3セルは="http://*****.xyz:50024/?ru="&F2


3.Google Apps Script(ガス)で訳した文章をWemos D1 miniに送る。
function doPost(e) {
var value = e.postData.getDataAsString(); //TextFieldの中身
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getActiveSheet();
sheet.getRange("A2").setValue(value);//日本語をセット
var url1 = sheet.getRange("B3").getValue();//英語
var txt1 = UrlFetchApp.fetch(url1);
var url2 = sheet.getRange("C3").getValue();//スペイン語
var txt2 = UrlFetchApp.fetch(url2);
var url3 = sheet.getRange("D3").getValue();//中国語
var txt3 = UrlFetchApp.fetch(url3);
var url3 = sheet.getRange("E3").getValue();//フランス語
var txt3 = UrlFetchApp.fetch(url3);
var url3 = sheet.getRange("F3").getValue();//ロシア語
var txt3 = UrlFetchApp.fetch(url3);
}


4.Wemos D1 mini(ESP8266ボード)のスケッチにはライブラリESP8266-google-home-notifier.hが入っていて、グーグルホームにしゃべらせることができる。今回、多言語対応にスケッチを小改造した。

グーグルホームミニはもともとあったし、今回の費用はWemos D1 miniボードの550円也!!
しかも、本の検索システムも何もかもスピーカーにしゃべらせる窓口はこれ1つあればいいようにした。小さくて気に入ったので、グーグルホームミニの横にお守りとしてセットしておこう。

本の検索システムとほとんど同じなので1時間ほどでサクサクと作ってちゃんと動いたが、
「OKグーグル、翻訳して」といったら、

もちろんです。いろいろな国の言語を翻訳できますよ。翻訳したいときはこんにちわを韓国語で、トイレはどこですかを英語で、のように話しかけてください。

あれ?・・・・
あか~ん。
はじめから翻訳機能あるやんけ!
そんなん、はよゆ~て~な~。
しょ~もないことしても~た~。

「OKグーグル、本を探して チャート式化学」
「チャート式化学は机の上にあります」



ファイルメーカーの文字化けがあったためにGASを通すことになりました。苦労しましたがGASの勉強になりました。また、グーグルスプレットシートを通すことからこれを応用して翻訳機を作れます。苦労は常に成長の元ですね。

IFTTT///////////////////////////////////

「OKグーグル、本を探して チャート式化学」でGASにテキスト:チャート式化学をPOSTする。

GAS/////////////////////////////////////

FM4の文字化け対策のため、ecl.jsをライブラリ化して読み込みます。
function doPost(e) {
var value = e.postData.getDataAsString(); //TextFieldの中身
var value2 = ecl.EscapeSJIS(value); //文字コード変換
var url = "http://*****.xyz:591/FMPro?-db=books.fmj&-layout=web&-format=books.htm&title="+value2+"&-script=ghn&-find";
UrlFetchApp.fetch(url);
}

(しゃべると空白が入るので実際にはA2セルを=SUBSTITUTE(SUBSTITUTE(A1," ","")," ","")としてスペースをとった方が上手くいきます)

FileMakerPro4(web companion)///////////////

本のタイトルから検索して、URLを出すスクリプトghnで場所を伝える
http://*****.xyz:50023/?ja=チャート式化学は机の上にあります

GoogleHomeNotifier(ESP8266 board)////////////////

「チャート式化学は机の上にあります」をGoogle Home Miniにしゃべらせる。

【後記】
本の検索システムならわざわざ古いファイルメーカーを使わなくても、そのままグーグルスプレッドシートでやった方が早いし、かっこいいです。
でも、web上にあるグーグルスプレッドシートでなく、ローカルパソコンにあるファイルメーカーを動かしたことで、次なる展開が待っています。
ファイルメーカーがスクリプトからロケットマウスを操作することによってパソコンのキーボードをマウスを無くしてしまうことです。
音声だけでパソコンの操作をしたいのです。
そのような電子カルテはナースの仕事を軽減するでしょう。
アップルが命を与えたマウスをそろそろ退治してしまおうという夢の計画の一歩です。

S-117★送料無料★爆速 新品SSD搭載★富士通 LIFEBOOK Core i5 2GB 15.6型 Libre Office Windows 10 Home 64bit ★即使用可★
lifebook
ヤフオクでWindows10ノートパソコン購入した。¥8750(送料込み)
デスクトップと同じ環境のノートがないといろいろ不都合なので、無理して買いました。
昔使っていたのと形が同じでちょっと古くさいですが、新鮮みのないこういうやつの方が、たいてい長くつきあえます。

↑このページのトップヘ