Raspberry PiのカメラをAPIで直接操作するpi-camera-connectを使った方法です。Pi-Cameraを使った方法(gistはこちら)より、大幅に高速に画像が取得できることを確認しています。
コマンドプロンプトで、以下設定
| /** | |
| #スクリプトの利用方法 | |
| * Google スプレッドシートを開く: 緯度経度データを含む Google スプレッドシートを開きます。 | |
| * Apps Script エディタを開く: メニューバーから「拡張機能」>「Apps Script」を選択します。 | |
| * コードを貼り付ける: 開いた Apps Script エディタに上記のコードをコピーして貼り付けます。 | |
| * 保存する: フロッピーディスクのアイコンをクリックするか、Ctrl + S (Windows) / Cmd + S (Mac) でスクリプトを保存します。 | |
| #実行する: | |
| * Google スプレッドシートのタブを一度閉じ、再度開きます。または、ブラウザのページを再読み込み (F5キーなど) します。 | |
| * スプレッドシートが再読み込みされると、メニューバーに「住所変換」という新しいメニューが表示され、プルダウンに各機能がリストされていますので選んで実行します。 |
Raspberry PiのカメラをAPIで直接操作するpi-camera-connectを使った方法です。Pi-Cameraを使った方法(gistはこちら)より、大幅に高速に画像が取得できることを確認しています。
コマンドプロンプトで、以下設定
| // very tiny node webserver framework | |
| // based on https://developer.mozilla.org/ja/docs/Learn/Server-side/Node_server_without_framework | |
| // ESModuleで統一 ただ、package.jsonに、{"type":"module"} を設定する必要があります。拡張子(.js)を付けるとダメ?・・・微妙な仕様ですね>node.js | |
| import http from "http"; | |
| import fs from "fs"; | |
| import path from "path"; | |
| var mimeTypes = { | |
| '.html': 'text/html', |
Raspberry Piは、キーボード・マウス・ディスプレイを用意しないとなかなか使うのが難しいところがあります。お手軽とはちょっと言い難いかもしれません。 また、消費電力的にもPC寄りで、例えばソーラーパネル+バッテリーで駆動させるような用途を手軽に実現するのは難しいです。
| <html> | |
| <script src="https://unpkg.com/pbf@3.0.5/dist/pbf.js"></script> | |
| <script src="./mbvt.js"></script> | |
| <script> | |
| onload=async function(){ | |
| var data = await getPbf(); | |
| var geoData = data; | |
| var gj = geoData.layers.railway.feature(0).toGeoJSON(112,50,7); // toGeoJSON(x,y,z)の数値はタイルのxyzのことです | |
| console.log("geojson:",gj); | |
| } |
| // PCF8591 driver for CHIRIMEN raspberry pi3 | |
| // 4ch 8bit ADC, 1ch 8bit DAC | |
| // CDS, Thermister, VR and a LED | |
| // Programmed by Satoru Takagi | |
| var PCF8591 = function(i2cPort,slaveAddress){ | |
| if (!slaveAddress){ | |
| slaveAddress = 0x48; | |
| } | |
| this.i2cPort = i2cPort; |
| // Driver for https://github.com/usedbytes/neopixel_i2c | |
| // Programmed by Satoru Takagi | |
| var NEOPIXEL_I2C = function(i2cPort,slaveAddress){ | |
| this.i2cPort = i2cPort; | |
| this.i2cSlave = null; | |
| if ( slaveAddress ){ | |
| this.slaveAddress = slaveAddress; | |
| } else { | |
| this.slaveAddress = 0x41; |
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta charset="utf-8"> | |
| <meta name="viewport" content="width=device-width"> | |
| <title>GPIO-I2C-PWMHBridge case2</title> | |
| </head> | |
| <body> | |
| <script src="../../../polyfill/polyfill.js"></script> | |
| <!-- 下のドライバは CASE-1 https://gist.github.com/satakagi/dd6d9a83764529be368b9a73a2ce9f85 と同じものです。 --> |