2019年6月1日土曜日

Jetson Nano上でVSCodeをインストール

VSCodeはマイクロソフトが開発しているプログラミング用IDEです。
Jetson Nanoではソースコードからビルドする必要があります。
手順は
Jetson nanoにVSCode+Pythonの開発環境を整える
を従いましたが、エラーが出てきて、
最終的に
Building Visual Studio Code on Jetson Nano
を参考して何とかビルドが成功しました。

一連のコマンドは:
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

sudo apt update
sudo apt install -y libx11-dev libxkbfile-dev libsecret-1-dev fakeroot npm curl nodejs nodejs-dev yarn

git clone https://github.com/Microsoft/vscode.git
pushd vscode
sed -i 's/4095/2048/g' package.json
scripts/npm.sh install
yarn
yarn run gulp vscode-linux-arm64-min
yarn run gulp vscode-linux-arm64-build-deb
sudo dpkg -i ./.build/linux/deb/arm64/deb/code-oss_1.??.?-*_arm64.deb

そして、拡張機能ギャラリーを有効にするため、
sudo nano /usr/share/code-oss/resources/app/product.json
を実行します。

エディタで、一番したの

の上に、
,"extensionsGallery": {
    "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
    "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
    "itemUrl": "https://marketplace.visualstudio.com/items"
}
を追加すると拡張機能ライブラリーが有効になります。

そして、再起動して、IDEを実行。
sudo reboot
(再起動後)
code-oss

以上です!

2019年5月31日金曜日

LINUX上のファイヤーウォール修理

先日、Jetson Nano上でNextCloudをインストールしてみました。
結果、NextCloudは正常に作動しましたが、ファイヤーウォールの設定を色々いじったから、壊れてしまいました。
SSHができなくなり、VNCもアクセスできませんでした。

修理方法はファイヤーウォールをリセットするしかないと思って、以下の方法でリセットしました。

まず、iptablesのリセット:
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo iptables -F
sudo iptables -X

次にufwのリセット:
sudo ufw reset
sudo apt remove ufw
sudo apt install ufw
sudo cp -p /usr/share/ufw/before.rules /etc/ufw/
sudo cp -p /usr/share/ufw/before6.rules /etc/ufw/
sudo cp -p /usr/share/ufw/after.rules /etc/ufw/
sudo cp -p /usr/share/ufw/after6.rules /etc/ufw/
sudo ufw enable

最後はサービスの許可:
sudo ufw allow ssh
など。

これで、またSSHができるようになりました!😊🎉🎊


2019年5月30日木曜日

ベーシックESP32-CAMスケッチ

ESP32カメラの続きです。
前回はOTAやmDNSなどを追加しました。
今回はとても基本的なスケッチです。
設定とかなにもありません。
全てはスケッチ内でハードコーディングされています。
https://github.com/vivian-ng/esp32_camera_streaming
スケッチではAI-ThinkerのESP32-CAMモジュールのピンアウトを使用しています。
別のカメラモジュールを使う場合、ピンの番号を変える必要があります。

ちなみに、ベースのスケッチはこれです:
https://github.com/maximemoreillon/esp32_camera_streaming

それにWiFi設定をメインのスケッチに移動、そしてmDNSを追加しただけです。

#define WIFI_SSID "ssid"
#define WIFI_PASSWORD "ssid_password"
WiFi設定はこの2行です。

#define HOSTNAME "esp32cam"
ホスト名はこの行です。
これがあれば、
http://esp32cam.local/
だけでカメラからのビデオが見れます。
ホスト名は任意に変えられます。
例えば、複数のモジュールを使っている場合、
esp32cam1
esp32cam2
などにすることもできます。

で、利点は?

まず、ウェブ上の設定ページをなくしたことによって、このESP32カメラモジュールは単純なネットワークカメラになり、MotionEyeなどで「Network camera」として使用できます。
mDNSを追加することによって、ホスト名で接続できます。
IPアドレスをしらべたりしなくても大丈夫です。
例えば、MotionEyeでカメラを追加と選択し、
Camera Typeを「Network camera」で、
カメラのURLを「http://esp32cam.local/」に入力。

また、PSRAMがあるモジュールの画像解析度についてですが、
1600x1200はできますが、(ベースのスケッチもそれになっています)
それだとESP32の処理能力がボトルネックになり、FPSが落ちます。
試した結果、やはりPSRAMがあっても800x600はベストです。

  if(psramFound()){
    Serial.println("PSRAM found");
    //config.frame_size = FRAMESIZE_UXGA;
    config.frame_size = FRAMESIZE_SVGA;
    config.jpeg_quality = 10;
    config.fb_count = 2;
  } else {

解析度を変えるには赤字のところを変えればいいです。
UXGAは1600x1200です。
SVGAは800x600です。
その他に、
QQVGA = 160x120
QQVGA2 = 128x160
QCIF = 176x144
HQVGA = 240x176
QVGA = 320x240
CIF = 400x296
VGA = 640x480
XGA = 1024x768
SXGA = 1280x1024
QXGA = 2048x1536 (メモリ的に無理かもしれません)
があります。

今度はこのスケッチにOTAを追加するかな?

2019年5月25日土曜日

ソフトバンク光BBユニットでOpenVPNサーバー

OpenVPNサーバーを構築しようと、数か月試行錯誤しましたが、ポート転送が中々うまく行かず、成功しませんでした。ネット環境はソフトバンク光BBユニットE-WMTA2.3ルーターにASUSのルーターを接続し、PCなどはASUSルーターへ接続しています。ソフトバンクルーターからOpenVPNポートをASUSルーターへポート転送し、ASUSルーターはそのポートをさらにOpenVPNサーバーへ転送する、という設定をしました。でも、できませんでした。

昨日の深夜、やっとこの記事を見つかり、それに従っていくと。。。
成功!!!

簡単に言えば、ソフトバンクルーターでPPPoEへサインインするのではなく、ASUSルーターを使ってサインインすればうまく行けます。
概略(詳しい内容はこの記事を見てください):
1.ASUSルーターのWi-Fi機能を有効にする。
2.ソフトバンクルーターのWi-Fi機能を無効にする。
3.ソフトバンクルーターの「PPPoEパススルー」機能を有効にする。
4.ASUSルーターでPPPoEサインインの設定を行う。
5.ASUSルーターでOpenVPNサーバーのMACアドレスで固定IPアドレスを設定する。
6.ASUSルーターでポート転送の設定をする。

あとはOpenVPNサーバーをインストール。
私の場合、Orange Pi Liteが手元にありましたから、それを使いました。
OpenVPN簡単インストールスクリプト

次はNextCloudサーバーかな。。。😉

+α:
ESP32を使ってDDNS更新

2019年5月18日土曜日

ESP32の3Dプリンター制御基板:進捗2

色々があって、やっと火事にならないようにヒートベッドが使えるようになりました。

実は、「犯人」は中国のMOSFETです。
Aliexpressで購入したIRLS3034を何度も試しましたが、毎回炎上。
そして、Mouserから同じIRLS3034を購入し、全然問題なく加熱ができました。

左はAliexpressで購入したもの、右はMouserで購入したもの。
見た目も違います。

以前、モーターなども操作確認もしましたので、これからはテストプリントを試し、最終確認を行います。
問題は、時間。。。😟

YCAPSとISPA Japanが共同開催した2019年度ヤングマリナープログラム

今年のGW連休中、YCAPSISPA Japanが共同開催した2019年度ヤングマリナープログラムに、ボランティアのファシリテーターとして参加させていただきました。
このプログラムは、帆船みらいへを乗りながら、船の作業を通じてリーダーシップ及びチームワークを身に付け、同時に異文化交流も体験するという狙いで開催されました。
5月2日に北九州の門司港から出港し、5月6日に神戸のハーバーランドへ入港する、という予定でした。

チケットの関係で、実際に船に乗ったのが5月1日でした。

5月2日、予定通り門司港から出港しました。

今回の参加者は横須賀米軍基地で住んでいる高校生たちと、全国から応募した学生(中、高、大)や社会人(一人)でした。
アメリカ人と日本人の他、ベトナム人、アメリカと日本のハーフ、中国と日本のハーフもいました。
年齢も国籍も幅のある参加者たちでした。

そして、言語の壁を乗り越えて、一緒に船の作業を学び、一緒に船を動かしました。

ほとんどの参加者は帆船の経験や知識もなく、ゼロから学びました。
私は小さいクルーザーを乗ったことがありますが、こんなに大きい帆船を乗るのも初めてでした。

恐怖心を乗り越え、みんなで一緒に帆を挙げ、収め、お互い協力しながら一つの目標へ向かう。
ファシリテーターたちは彼らの安全を見守りながら、客観的に彼らの行動を観察し、適宜に学習効果を最大にするため予定の調整をしたり、アドバイスをしたりしました。
このように五日間一緒に働き、一緒に生活し、リーダーシップを学び、チームワークを学び、お互いの文化を学び、そしてなによりも友情を築きました。

また、上陸の機会もありました。
直島へ上陸して、瀬戸内国際芸術祭を少し見に行きました。
このカボチャと写真を撮るため、かなり並びました。

洋上の夕日、とてもきれいです。

え?なぜ椰子の殻があるの?
実は、これを使って、デッキの掃除をします。
結構大変ですが、みんなが一緒にやればすぐ終わります。
それもチームワークの一つです。

そして、ついに5月6日の夕方、神戸のハーバーランドへ入港しました。

国内でこのプログラムを開催するのが初めてです。
参加者からのフィードバックによると、みんなそれぞれ収穫が多かったみたいです。
もちろん改善点もいくつかあります。
開催側はいただいたフィードバックを参考して次回をよりよくするつもりです。

個人的に、久々の船。
やはり船を乗るのが好きです。
また、やはりファシリテーターに向いていると実感しました。
ま、以前の仕事ではファシリテーションをいっぱいしましたから、経験豊かのがもちろんです。😅
今後、このような仕事が増えたらいいなと思います。

ちなみに、米軍の関連新聞もこのプログラムに関する記事を載せました。
Introducing the Inaugural Seto Sea Young Mariner Leadership Voyage

2019年5月14日火曜日

AUも料金値下げ

ドコモに続き、AUも携帯料金の値下げを発表しました。

どういうことか?
1.今まで私たち消費者は搾取されました。実はもっと低い料金で携帯サービスが提供できますが、会社の利益のため、業界で料金プランがわざわざ高く設定されました。
2.やっと携帯会社が効率化に目覚めました。今までやっていなかった効率化に着手して、無駄をなくし、より低価格で携帯サービスが提供できるようになりました。

いずれにしても携帯会社が悪いでしょう。
前者なら意図的に消費者を搾取。
後者なら会社の運営に問題がある。
日本の会社、そろそろ起きましょう。
このままだと、日本がダメになるだけですよ。