yoctoでkodiをつくる

メディアセンターのディストリビューションをつくってみる。 環境構築 ラズベリーパイ3向けの環境。いつものやつ。 sumo(2.5)をベースにすると後述のCMAのエラーが発生するため、thud(2.6)をベースにする。 ソース取得 $ mkdir -p rpi-kodi/layers $ cd rpi-…

Z11 mini(nx529j)にMoKee(Android 7.1.2ベース)をインストールする

MoKeeをインストールする動機 アマゾンでZ11 mini(nx529j)を買った。結構古いモデルでAndroidバージョンは5.1とか。 今時さすがにそれでは使う気にならなかったので、Android7か8を入れる方法探した。 MoKeeがAndroid7.1.2をベースにしたバージョンを公開し…

LeafletでGeocoding

簡単に住所検索 Control.Geocoder.jsを使用すると、簡単に住所検索機能が追加できる。 これはどうやらLeafletの開発者本人が作ってるものっぽい。 <html lang="en"> <head> <meta charset="UTF-8"> <title>Leaflet Geocoder Test</title> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.4/dist/leaflet.css" /> </link></meta></head></html>

obnizとGPSモジュールで地図(その4)

概要 前回の続き、というか番外編。 GPSから緯度経度を取得 GPSから取得したNMEAはGPS.jsでパース 取得した緯度経度でGoogle Mapに表示 取得した緯度経度でLeafletに表示(イマココ) Google Map以外の地図 Google MapのJavaScript APIのキーを取得するには、…

obnizとGPSモジュールで地図(その3)

概要 前回の続き GPSから緯度経度を取得 GPSから取得したNMEAはGPS.jsでパース 取得した緯度経度でGoogle Mapに表示(イマココ) Google Mapの表示 自分のページにGoogle Mapを埋め込むにはAPI Keyを取得し、使用時に設定する必要がある。 しかし、API Keyを使…

obnizとGPSモジュールで地図(その2)

概要 前回の続き GPSから緯度経度を取得 GPSから取得したNMEAはGPS.jsでパース(イマココ) 取得した緯度経度でGoogle Mapに表示 取得したNMEAをパース GPSモジュールから取得できるのはNMEAというデータのかたまり。 こんな感じ。 $GPTXT,01,01,02,LLC FFFFFF…

obnizとGPSモジュールで地図(その1)

obniz obnizはWifi経由でクラウドに常時接続され、クラウド経由で操作するマイコンボード。 通常のマイコンボードと異なるのはクラウド経由で操作するため、obnizにプログラムを書き込んだりしないということ。 JavaScript SDKを使用すると、ブラウザやNode.…

ラズベリーパイ3 Yoctoでdebパッケージを使用する

Yoctoでは、デフォルトでrpmを使用してレシピごとのパッケージを作成し、 OSイメージを作成する段階で、それらをインストールすることでソフトをインストールしている。 core-image-minimalやcore-image-base、rpi-basic-imageの最小構成のイメージでは、 パ…

ラズベリーパイ3でthudを試す

yoctoの最新版がやっとリリースされた。バージョンは2.6で、コードネームは「Thud」. 早速、ラズベリーパイ3で動かして見る。 環境構築 いつものやつ。 INITはsystemdで。 ソース取得 $ mkdir -p rpi-thud/layers $ cd rpi-thud/layers $ git clone git://gi…

yoctoでセルフコンパイル環境を作成する

yoctoではクロスコンパイル用のSDKを簡単に作成することができる。 実はセルフコンパイル環境もさほど難しくなく作成できるが、こちらはあまり知られていない気がする。 クロスコンパイルできる環境があれば、PCのほうがリソースはリッチなのでコンパイル時…

Termux環境にpycurlをインストールする

そんなに需要はない情報だとおもう。 Pydroid環境にpycurlがインストールできなかったので、Termux環境にpycurlを入れようとしたらハマった。 pythonのインストール まずは、pythonをインストール。pipだとビルドが走ったりするので、clangも一緒に。 $ pkg …

raspberrypi3 model b+ USBブート

ラズベリーパイ3 Model B+は、初期状態でUSBブートが可能になっている。 もともとのラズベリーパイ3(Model B)では、 OTPという一度だけ書き込みができる特殊なメモリの設定を変更することでUSBブートができるらしいのだが、 間違った設定をすると文鎮化する…

raspberrypi3 model b+を購入した

ラズベリーパイ3をパワーアップしたModel B+が届いた。 主には WiFiが5GHz対応になった! CPUのクロックが1.2GHzから1.4GHzになった! Etherがギガビットになった! とか。気になるところはこんなところ。Bluetoothはあまり気にならないかな。 概ね使いやす…

マルチスレッド環境でのtar

最近ではCPUはマルチコアであることが多く、プログラムがマルチスレッドに対応している場合、 処理時間を大幅に短縮することができる。 意外と機会の多いtarコマンドによる圧縮伸長処理はデフォルトではシングルスレッドで動作するため、 マルチコアCPUの恩…

pyconnmanで遊んでみる。

pyconnmanを使用するとconnmanの機能にpythonからアクセスできるようになる。 クラス pyconnmanモジュールには次のクラスが定義されている。 クラス 概要 ConnTechnology tecnology ConnManager connman本体 ConnCanceledException ConnInterface ネットワー…

yoctoのbitbakeで作ったLinuxでPyCharmのリモートデバッグ環境をつくる

これがしたかったために、有償版を買った。 PyCharmを使った普通のリモートデバッグ環境の構築はたくさんあると思うので、 yoctoで作ったラズベリーパイ3向けの環境でリモートデバッグする環境を作る。 その際にハマったところピックアップする。 確実に名前…

avahi-autoipdでDHCPサーバが無い場所でもIP通信

USB-Ethernet変換を使って、ラズパイなどのボードと1対1で接続するようなケースでは、 DHCPサーバをいちいち用意するのが面倒。 そういう場合でも、SSHでログインなどしたかったりするのでTCP/IPで通信したい。 そこでavahi-autoipdを使うとIPアドレスを解決…

Flask-Bootstrap + Ajax(jQuery) + RPi.GPIOでLEDを制御してみる

ここ何回かにわたって、pythonでFlask-BootstrapやAjaxのお話をしてきた。 Flaskでpythonのウェブアプリケーションを作る Flask-Bootstrapを使ってみる Flask-BootstrapでjQuery Flask-BootstrapでAJAX(jQuery) なぜ急にFlaskでAjaxだったのか。実は今回のこ…

Flask-BootstrapでAJAX(jQuery)

これらの続き Flaskでpythonのウェブアプリケーションを作る Flask-Bootstrapを使ってみる Flask-BootstrapでjQuery 前回Flask-BootstrapでjQueryを使用する方法を紹介したが、ブラウザ側でボタンのラベルを書き換えるだけだった。 今回はAJAXを使用して、ブ…

Flask-BootstrapでjQuery

これらの続き Flaskでpythonのウェブアプリケーションを作る Flask-Bootstrapを使ってみる Webアプリケーションでボタン操作などちょっと格好いいことをしようとするとjQueryは外せない。 じつは、Flask-Bootstrapで基本となっているbootstrap/base.htmlは次…

Flask-Bootstrapを使ってみる

前回のつづき pythonでWebアプリケーションをつくる場合、Flaskが便利。 Webアプリケーションでは、デザインを定義するためにCSSが必要だが意外とめんどくさい。 そこで定義済みのCSSフレームワークを使用することで、手間を軽減することができる。 そのうち…

Flaskでpythonのウェブアプリケーションを作る

pythonでWebアプリケーションを作成する方法はいくつかあるが、 Flaskを使用すると非常に簡単に作成することができる。 インストールはpipでできるので、詳細は省く。 使い方 ディレクトリ構成 作業ディレクトリのルートにpythonスクリプトを置き、「templat…

Yocto raspberrypi3でbootchartを試す(systemd編)

Yoctoのbootchartのおはなし systemdを使用する場合は「systemd-bootchart」が使用できる。 本当は、systemdの時もbootchart2を使用して同じ条件で計測してみたいところだけど。 raspbianはsystemdなので、そちらとの比較の場合は有効な手段かもしれない。 l…

yocto raspberrypi3でbootchartを試す(sysvinit編)

bitbakeで作成したlinuxの起動時の状況を知るためにbootchartを使用したい。 pokyには「bootchart2」が収録されているので、これを使用する。 meta-raspberrypiの組み込みおよび、bitbake rpi-basic-imageまで作成できている事を前提とする。 local.confの修…

BBC micro:bit上のmicropythonのプログラムをPyCharmで開発する

BBC micro:bitを購入した。 任意のウェブブラウザーからブロックエディター、Javascript、Python、Scratchなどを使ってプログラムすることができます。ソフトのインストールは必要ありません。 とのことで、micropythonでプログラミングの学習に使用するつも…

yocto raspberrypi3でNFSブート

raspberrypi3のルートファイルシステムをNFSでマウントする。 ベース環境の取得 $ git clone git://git.yoctoproject.org/poky.git -b pyro $ cd poky $ git clone git://git.yoctoproject.org/meta-raspberrypi -b pyro 使用するのはpyroブランチ。 oe-init…

yoctoで作ったLinuxでQt5 アプリケーションのフォントが表示されない

yoctoでmeta-qt5を組み込んで、Qt5アプリケーションを起動させた時に、次のようなエラーメッセージが表示され、文字が正しく表示されない問題が発生した。 QFontDatabase: Cannot find font directory /usr/lib/fonts. Note that Qt no longer ships fonts. …

yocto core-image-minimalなどで自動ログイン

core-image-minimalなどのコンソール環境で自動ログインする。 昔はIMAGE_FEATURESにautologinとか入れれば、実現できたらしいが 機能の実現に使用していたパッケージがメンテナンスされてなかったらしく、 この機能が削除されてしまったらしい。 基本的には…

ROCK64をyoctoで立ち上げ

秋月でROCK64ボードを購入した。 今回はコスト優先でメモリ1GBのモデルにした。 このボードはラズパイの40ピンと互換のGPIOヘッダが搭載されているが、電源コネクタがマイクロUSBではなくDCプラグとなっている。 ただ、このDCプラグが曲者で、秋月で売ってい…

yocto raspberrypi3でA2DP レシーバ

スマートフォンなどの音源を、Bluetooth経由でラズベリーパイ3からならす。 OSはいつもどおりyoctoprojectを使用して作成。 BluetoothではA2DPを使用し、sinkとなるようにする。 実際に音を鳴らすのはpulseaudioで、ラズベリーパイ3が他の端末からオーディ…