Python
PHP
JavaScript
RaspberryPi
IoT

Webプログラマ向けハードウェアmille-feuille(ミルフィーユ)Raspberry Pi 用サポートツール

More than 3 years have passed since last update.

Webプログラマ向けのハードウェアとして有名なRaspberry Pi。Linux PCとして動作するので、少しでもLinuxに触れたことがある人には比較的容易に使えるところが嬉しいですね。

そこで、「さぁ、Raspberry Piでハードウェアの試作だ!」と意気込んで接続してみると。。。

「つながらない」「回路図ってなんだ!?」「はんだづけできない・・・」

ハードウェアを試作するには別の知識がいろいろと必要ですよね。

そういったハードウェアの知識がなくても、ファームを作るのが面倒な人でも、

試作から小ロット量産までできるツールがあります。

mille-feuille(ミルフィーユ)です。

mille-feuilleには「自動配線機能」と「回路図自動生成機能」があります。

簡単に言えば

自動配線機能:はんだづけしなくていい。ただ重ねるだけ

回路図自動生成機能:全自動でシンプルな構成を出してくれる

(それぞれ、ハードウェアのファームとか書かなくていいという利点があります。)

要するにハードウェアに関わる作業はなにもしなくていいということです。

プログラマはPHPまたはPythonで動かせます。グラフで表示などするときは、Javascriptなどですね。もちろん通常のファームウェアはライブラリを叩けば良いだけです。

今回はCPUボードが安くて小ロットの業務用に使えそうなRaspberry Piをベースに、IoT、M2M向けのハードウェア試作をmille-feuilleを使ってやってみます。


1,mille-feuille(ミルフィーユ)とは?

mille-feuilleはRaspberry Pi 2,B+,A+に取り付けるハードウェアを自動認識して設計できるサポートツールです。(お菓子のパイ生地を重ねるように接続します)

主に2つの機能があります。


a,自動配線機能

ふつうはRaspberry Pi からデバイスに手で配線して試作しますよね。それを自動的に「どのデバイスが接続されたか認識」して配線を「自動で接続」して「端子番号を気にしないでライブラリ叩くだけ」で動かしてくれる機能です。

ふつうに配線したのと同じ状態になるので、これまでのファームウェアライブラリもつかえるのが特徴です。


b,自動回路図生成機能

小ロット量産の時には回路図が必要になります。その回路図を生成してくれる機能です。これは上記の自動配線機能がない、手で配線して試作したようなシンプルな回路図が生成されます。配線に関するファームウェアも自動生成されるので、試作から小ロット量産まで同じWebプログラムで使用できます。


2,mille-feuille(ミルフィーユ)で開発する方法

大まかに「組み立てる」「テストする」「回路図を自動的に生成」「基板にする」の4工程で作ります。


a,組み立てる

組立はそれぞれを重ねて接続するだけです。

はんだ付けや複雑な配線を考える必要はありません。

Raspberry Piに入れるPythonライブラリからの命令で、mille-feuille(ミルフィーユ)内部のデジタルスイッチが勝手に配線の種類を認識して接続してくれます。

PhotoGrid_1444632195297.jpg


b,テストする

プログラムは主にmille-feuille(ミルフィーユ)のPythonのハードウェアライブラリを叩いて動かします。

Pythonのハードウェアライブラリを叩ければどの言語でも使用できます。

今回はPHPとPythonのサンプルを用意しました。

Google chartを使えばグラフも簡単に書けますよ。

PhotoGrid_1444568984492.jpg

PHPのサンプルは簡単に書けます。下のはアナログ信号取得のサンプルです。


AnalogRead.php

include ("milpython/mil_analog.php");

$dataCh0 = readAD(0);
$dataCh1 = readAD(1);

PythonのサンプルはPHPよりも滑らかな動きを実現したい時に使います。


AnalogRead.py

#!/usr/bin/python

from mil import mil
from mil import milMod
from mil import AD2ch

mil.init()
modA = milMod.milMod(AD2ch.getAddr(),AD2ch.getIOs())

modA.connect()
dataCh0 = AD2ch.analogRead(0)
dataCh1 = AD2ch.analogRead(1)
modA.disconnect()



c,回路図を自動的に生成

回路図を自動的に生成するには、まず、mille-feuille(ミルフィーユ)にどのデバイスが接続されているかという情報をRaspberry Pi用に作られたアプリケーションを使って集めます。

その情報を回路生成ようのサーバーにアップロードして、回路図スクリプトとそれに合わせた配線設定ファイルをダウンロードしてきます。

回路図スクリプトはEagle CADというフリーソフト(商用はライセンスが必要です)にインポートすると、自動的に回路図が生成されます。

generate2.jpg


d,基板にする

最後に、出来上がった回路図から基板を作ります。回路図から基板を作るにはいくつか方法があります。時間やコストなどを考えて選択してくださいね。

pcbJP.png

今回はRaspberry Piをベースに作ってみましたが、仕組み的にはmbedなどにも取り付け可能です。

対応機種が増えたら開発の幅が広がりますね。

mille-feuilleはindiegogoでキャンペーン中です。よかったらシェアしてください☆

https://www.indiegogo.com/projects/mille-feuille-automatic-schematic-creation-tool/