Slide 1

Slide 1 text

ルネサスエレクトロニクス 2020.1.27 SIerIoTLTGirlsTalk@大手町牧場 自己紹介 鈴木康之(すずきやすゆき) 「がじぇっとるねさす」(2012年から活動中) 半導体企業として一般のものづくりを応援する取り組み。 WEB上で開発できるボードと共にコミュニティを中心に活動中 OpenCV V3.2が動くカメラ付き モーターなど直付けできる 安価なボード

Slide 2

Slide 2 text

2 手に職を持たせて自立させたいのに

Slide 3

Slide 3 text

技術者の自立って何だろう? レンガを積む職人の話から考えてみた

Slide 4

Slide 4 text

中世のヨーロッパ。大きな修道院を建築していました。 そこに、レンガを積んでいる3人の職人がいました。 1人目の職人に、何をしているのか尋ねました。すると 「見ればわかるでしょうレンガを積んでいるんです」と答えました。 2人目の職人に同じことを尋ねると 「レンガを積んで壁を作っています」と答えました。 3人目の職人にも同じことを尋ねると、彼はこう答えました。 「私は修道院を造るためにレンガを積んでいます。この修道院は多くの信者 の心のよりどころとなるでしょう」 それから10年後。 最初の職人は以前と同じようにレンガを積んでいました。 2人目の職人は、街の建築士になっていました。 3人目の職人は、この修道院に彼の名前がつけられ、その後有名な建築家に なり、優秀な弟子もたくさん育てたそうです。

Slide 5

Slide 5 text

現代の日本。大きなシステムを構築していました。 そこに、システムを評価している3人の技術者がいました。 1人目の技術者に、何をしているのか尋ねました。すると 「見ればわかるでしょう評価しているんです」と答えました。 2人目の技術者に同じことを尋ねると 「評価して設計が正しいか確認しています」と答えました。 3人目の技術者にも同じことを尋ねると、彼はこう答えました。 「私はお客様が使うシステムのために評価しています。このシステムは多く のお客様に喜ばれることでしょう」 それから10年後。 最初の技術者は以前と同じようにプログラムの評価していました。 2人目の技術者は、SEになっていました。 3人目の技術者は、新規顧客を開拓する市場を見つけ、新しいシステムを考 えたそうです。優秀な部下もたくさん育てたそうです。

Slide 6

Slide 6 text

志はなんとなく理解できるが 具体的には何を勉強すればいいの?

Slide 7

Slide 7 text

Quoraにこんな質問があった 低レベルとは、ハードウェアの制御に近いプログラムのこと。 例えばJavaScript等であれば変数が何バイトの領域を持っている などはシステム任せなので、ユーザは認識しなくてもよい。

Slide 8

Slide 8 text

8 Q.Webプログラマーも低レベルなプログ ラミングを勉強すべきと思いますか? A. 勉強したほうがよい 全てを理解してプログラムを作れなくてもよいから、プログラ ム、設計が正しいかどうか判断する知見は必要。 そのためにはハードウェア、ソフトウェア両方の知識がいる。

Slide 9

Slide 9 text

勉強するには、こんなボードがあります • Arduino(アルディーノ) • ラズベリーパイ • mbed • obniz(オブナイズ)

Slide 10

Slide 10 text

int led = 23; void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } Arduino  言語はC++、OSは入っていない  環境構築が簡単  互換品がたくさんある(ルネサス製もある)  インターネットに繋ぐときは、別ボードが必要かも  世界で1000万台近く売れている  ハードウェアの勉強に向いている Lチカプログラム例

Slide 11

Slide 11 text

ラズベリーパイ  Linux OSが載っている。開発言語は問わない  環境構築は難しい(しかし情報は多いので大丈夫)  AIなども勉強できる  インターネットはつながっている前提  世界で2000万台以上の出荷数  2200円~8000円ぐらいで入手できる ■主な仕様 ・CPU:Broadcom BCM2835 ARM1176JZF-S 1GHz GPU 250MHz ・メモリ:512MB ・映像出力:MiniHDMI(ミニHDMI) ・ストレージ:MicroSD(マイクロSD)カード ・カメラコネクタ:Raspberry Pi Zero用カメラケーブルコネクタ ・無線機能:802.11 b/g/n wireless LAN ・Bluetooth 4.1 Bluetooth Low Energy (BLE) 2200円 import RPi.GPIO as GPIO from time import sleep GPIO.setmode(GPIO.BCM) GPIO.setup(25, GPIO.OUT) while True: GPIO.output(25, GPIO.HIGH) sleep(0.5) GPIO.output(25, GPIO.LOW) sleep(0.5) Pythonで書いた Lチカプログラム例

Slide 12

Slide 12 text

mbed  mbed OSが載っている。開発言語はC/C++  環境構築は難しい(情報は多くない)  AIなども勉強できるけど・・・  インターネットはつながっている前提  世界で100万台ぐらい?  mbedよりラズパイをやっておいたほうがいい 構成複雑

Slide 13

Slide 13 text

obniz(オブナイズ)  ESP32 にobniz OSが載っている。  開発言語はJavaScript, Python, ブロックプログラム  環境構築が簡単すぎる。(情報もWEBにまとまっている)  インターネット接続必須。(つなげるのが簡単)  IoTを勉強するなら最適と思う  AIも勉強できる 6000円 JavaScript Python プログラム PC/スマホ Lチカプログラムも インターネット経由

LED

var obniz = new Obniz("OBNIZ_ID_HERE"); obniz.onconnect = async function () { var led = obniz.wired("LED", {anode:0, cathode:1}); led.on(); } 日本人がスタートアップした企業(若い) javaScriptの LEDプログラム例

Slide 14

Slide 14 text

勉強にお勧めボードは • ハードウェアを簡単に勉強したい初心者 → Arduino(アルディーノ) • ソフトもバリバリ勉強したい → ラズベリーパイ • とにかく手軽にIoTを試したい → obniz(オブナイズ)