ArduinoでほこりセンサGP2Y1010AU0Fを使ってみた

・はじめに

aitendoに行った時にほこりセンサが目に入り

衝動買いして、そのままだったで使ってみた。

 

結論から言うと検出能力は非常に低いんで

ちょっとしたほこりや、室内の空気の状態

を知ることはできなかった

 

タバコとかの煙が充満していれば検出できる

かもしれない。逆に検出できたらかなり汚染

されてると思う

 

・使ったもの

arduino uno

GP2Y10AU0F

ユニバーサル基板

150Ω抵抗

220uF電解コンデン

トランジスタ2120

JST ZHR-6 PH:1.5M

Hコネクタハウジング用コンタクト SXH-001

 microSDカードソケット

 

 

・回路図

 

 GP2Y10のコネクタの配置は以下の図

f:id:shangtian:20180301224025p:plain

出典:GP2Y1010AU0Fデータシート

 

f:id:shangtian:20180301225639p:plain

出典:GP2Y1010AU0Fデータシート

 

 上の回路図をもとに回路を組んだ

 ほぼそのままですね

抵抗は150Ω コンデンサは220uF

3pinのLEDのとこはnpn型のトランジスタ2120

を接続しコレクタをLED、エミッタをGND

ベースをArduinoのデジタルピン2に接続

またVoutはアナログピン2に接続した。

 

f:id:shangtian:20180301230854p:plain

 

f:id:shangtian:20180301225043j:plain

 

 

・プログラム

LED端子へ以下の図のパルスを送って

計測する。

 

f:id:shangtian:20180301225923p:plain

出典:GP2Y1010AU0Fデータシート

 

 

f:id:shangtian:20180301225915p:plain

出典:GP2Y1010AU0Fデータシート

 

 つまりArduinoのD2を

digitalWrite(2,HIGH);

delayMicroseconds(280);

val = analogRead(2);//ここで測定

delayMicroseconds(40);

digitalWrite(2,LOW);

delayMicroseconds(9680);

 と言う感じでパルスを送れば

計測できる

 

おそらくトランジスタを接続しなくても

同じ機能を果たすことが可能だ

 

トランジスタのエミッタは

LED端子に、コレクタはGNDに接続され

ている。つまりベース(D2pin)がHIGHになれば

LED端子はLOWになり、ベース(D2pin)がLOW

であればLED端子はHIGHとなる。

 

したがってD2pinの出力を反転させれば

トランジスタがなくても問題がないかもしれない

 

digitalWrite(2,LOW);//ここ

delayMicroseconds(280);

val = analogRead(2);

delayMicroseconds(40);

digitalWrite(2,HIGH);//ここ

delayMicroseconds(9680);

 

 

 以下のスケッチはただ

Voutの値を出力しているだけ

const int LED = 1;
const int rea = 2;

void setup() {
  pinMode(LED,OUTPUT);
  Serial.begin(9600);
}

void loop() {
  Serial.println(dustRead());
  delay(100);
  
}

float dustRead() {
  float val;
  digitalWrite(LED,HIGH);
  delayMicroseconds(280);
  val = analogRead(rea);
  delayMicroseconds(40);
  digitalWrite(LED,LOW);
  delayMicroseconds(9680);
  return val;
}

 

 次は粉塵濃度を出力してsdカード

に保存するスケッチを書く

f:id:shangtian:20180301225842p:plain

図7:粉塵濃度 出力電圧

出典:GP2Y1010AU0Fデータシート

 

図7のグラフより以下の式が導ける

かなり大雑把だけど

y = 2.8/0.5*x +0.7

 が読み取れ変形すると

x = 0.178*y - 0.125

となる。

 

以下のスケッチは 

dustRead()でVoutの値を読み取り

calculate()でdustRead()読み取った

値を電圧Vに変換し、そのVを

(2)に代入し粉塵濃度を算出する。

 

logging(float) では求まった

粉塵濃度をSDカードに保存している。

 

#include <SPI.h>
#include <SD.h>
const int cs = 3; const int LED = 2; const int readPin = 2; const float SamplingTime = 280;//micro seconds const float DelayTime = 40; const float SleepTime = 9680; File logFile; float dustRead(); float calculate(); void logging(float); void setup() { pinMode(cs,OUTPUT); pinMode(LED,OUTPUT); digitalWrite(cs,HIGH); Serial.begin(9600); if(!SD.begin(cs)){ //Serial.println("intitializes failed"); return; } } void loop() { logging(calculate()); delay(500); } float dustRead() { float val; digitalWrite(LED, HIGH); delayMicroseconds(SamplingTime); val = analogRead(readPin); delayMicroseconds(DelayTime); digitalWrite(LED, LOW); delayMicroseconds(SleepTime); Serial.print(val); Serial.print(":"); return val; } float calculate() { float concentration, V; V = 5*dustRead()/1024; Serial.println(V); concentration = 0.178*V - 0.125; return concentration; } void logging(float val) { logFile = SD.open("log3.txt", FILE_WRITE); if(logFile) logFile.println(val); logFile.close(); }

Mac avr開発環境を構築

 

 

・はじめに

macでavr開発環境を構築してみた

 

・使ったもの

Mac mini (Late 2014)  macOS High Sierra 

 *aitendoのusbasp2を使いました 

 

ATtiny85

ジャンパワイヤ

LED

10kΩ抵抗 

 

・CrossPack-AVR をインストール

 

以下のサイトからCrossPack-AVRをインストール

www.obdev.at

 

f:id:shangtian:20180220210534p:plain

今回はCrossPack-AVR-20131205

をインストールした。

 

Xcodeをインストール

AppStoreからXcodeをインストールする

30~40分ぐらいかかるかも

f:id:shangtian:20180220210853p:plain

 

MacPortsをインストール

以下からMacPortsをインストール

Mac Ports とはmacで使えるパケージ管理システムの1つ

 //ubuntu(debian系)だとapt、Cent OSだとyum ですね

avrdudeというソフトをインストールするのに使うので

インストールする

www.macports.org

 

osがHigh Sierraなので、それに対応したやつを

ダウンロードしてインストール

f:id:shangtian:20180220211221p:plain

 

・PATHを通す

CrossPack-AVR とMac Ports のコマンドを使えるように

するためPATHを通す。

vim ~/.profile

で。.profileを開き以下の2行を追記し保存

export PATH=$PATH:/opt/local/bin
export PATH=$PATH:/usr/local/CrossPack-AVR/bin
echo $PATH

でPATHが通っているか確認

 

・avrdudeをインストールする

avrdudeとはatmel AVRで使われるライタや開発機器を

コントロールするプログラム

sudo port install git libusb avrdude
which avrdude

git-core からgitへ名前が変わった模様

 

以上で開発環境の構築は終了

ではLEDを光らせるとこまでやってみる

マイコンはATtiny85を使用した

 

Lチカする

・プロジェクトを作る

$avr-project led_blink

でled_blinkプロジェクトファイルが

作成された

 

$cd led_blink/firmware

firmwareの中には

Makefileとmain.cファイルが存在する

まずはMakefileの設定から

 

Makefile の書き換え

$vim Makefile

f:id:shangtian:20180226225701p:plain

 

DEVICE

赤線部分を書き換えていく

今回はATtiny86を使うのでDEVICEを

atmega8を書き換える

CrossPack-AVRの中にマニュアルがあるので

見てみる。

$cd /usr/local/CrossPack-AVR/manual
$open index.html 

 

f:id:shangtian:20180226230839p:plain

 検索してみるとattiny85がサポートされていることが

示されている。デバイス名は小文字で表記されているんで

DEVICE = attiny85

とする

 

CLOCK

CLOCK数は8MHzを使うので変更しない

使うCLOCKを変えたい時はここも変更

しないといけない

 

PROGRAMER

書き込み装置の指定

USBasp2を使って書き込むので

PROGRAMER = -c usbasp

-cオプションは指定されたプログラマ(書き込み装置)

を設定ファイルから特定するもの

 

書き込み装置としてArduinoもリストに

載ってるのが面白い

 

以下のサイトからプログラマのリスト

が確認できる。

www.nongnu.org

 

FUSESの設定

 

以下のサイトからフューズの計算を行う

www.engbedded.com

 

まずattiny85を選択する

f:id:shangtian:20180226233103p:plain

 

f:id:shangtian:20180226233118p:plain

 赤丸部分を変更して内部クロックか外部クロック

なのか、何MHzにするかを設定する

 

今回は変更しないでデフォルトの値でok

f:id:shangtian:20180227160516p:plain

最後、赤線の部分のコードをコピーして

Makefileに貼り付ける

 

f:id:shangtian:20180226233221p:plain

 DEVICE = -U lfuse:w:0x62:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m

 

Makefileまとめ

ざっとMakefileについての説明はここまで

Makefileは以下のになる

  DEVICE     = attiny85
  CLOCK      = 8000000
  PROGRAMMER = -c usbasp
  OBJECTS    = main.o
  FUSES      = -U lfuse:w:0x62:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m 

 編集し終わったらMakefileを保存して

$ make

f:id:shangtian:20180227163605p:plain

上のスクショみたいになれば成功

 

main.cを編集してプログラムを作成する

ATtiny85のピンアウトを以下に示した

f:id:shangtian:20180227164502p:plain

sorce: attiny25_attiny45_attiny85の仕様書2ページ

 

f:id:shangtian:20180227173655p:plain

PB4ピンにLEDを繋げてLチカをする

$vim main.c

  7 #include <avr/io.h>
  8 #include <util/delay.h>
  9 #define F_CPU 8000000UL
 10 int main(void)
 11 {
 12     DDRB = 0b010000;
 13     
 14     while(1) {
 15        PORTB = 0b010000;
 16        _delay_ms(100);
 17        PORTB = 0b000000;
 18        _delay_ms(100);
 19     }
 20 }
         

ここまで来ればあとちょっと

ATtiny85とUSBasp2を接続してプログラムを

書き込む準備をする

USBasp2の端子は以下のようになっている

f:id:shangtian:20180227174545p:plain

sorce:https://ht-deko.com/arduino/usbasp.html#04

 

この表に対応するようATtiny85と

USBaspを接続する

USBasp2 ATtiny85
CLK CLK
MISO MISO
MOSI MOSI
RST RESET
VCC VCC
GND GND

 

 

Makefileの設定を書き換えた時は

$make fuse

f:id:shangtian:20180227172450p:plain

Makefileの設定を変更してない時は

$make flush

 

でATtiny85に書き込み 

f:id:shangtian:20180227170721p:plain

 

上手く書き込めたらこんな感じ

f:id:shangtian:20180227171939j:plain

 

 

 

<参考文献>

橋本商会

AVRDUDE: Table of Contents

USBasp

AVR始めました。 | Tsumikiasobi's Playground

「パッケージ管理システムとは」by Windowsユーザー - Qiita

nanopi neoでLチカ(wiringNP導入)

・目的

nanopi neoにwiringNPを導入して

gpioを制御し、LEDを点滅させる

 

・wiringNPをインストール

$git clone https://github.com/friendlyarm/WiringNP
 $cd /WiringNP>
$sudo chomd 755 build
$./build

でインストール

 

$gpio readall

でgpioの情報が表示される

f:id:shangtian:20171217183320p:plain

表のphysicalはピンの物理的配置番号

wPiはWiringNP上のピンの番号

を示している

 

・C言語で書いてみる

#include <wiringPi.h>
int main()
{
  wiringPiSetup() ;
  pinMode (7, OUTPUT) ;
  while(1) 
  {
    digitalWrite(7, HIGH) ;
    delay (500) ;
    digitalWrite(7,  LOW) ;
    delay (500) ;
  }
}

コンパイルする

$gcc -Wall -o led led.c -lwiringPi -lpthread



gccオプションの説明
-Wall :人によっては疑わしい構文のうち、容易に回避が
     可能であるものに警告が出力される。

-o file:実行ファイル名をfileで出力する。この指定がない
     場合はa.outで出力される

-lwiringPi
-lpthread
             :リンク時にwiringPi,pthreadライブラリを探し
                リンクする。

$sudo ./led

で実行。

 

シェルスクリプトで書いてみる

  1 LED=7
  2 gpio mode $LED out
  3 while true; do 
  4    gpio write $LED 1    
  5    sleep 0.5
  6    gpio write $LED 0
  7    sleep 0.5
  8 done
  
sudo source test.sh

で実行。

<参考文献>

Using and Porting the GNU Compiler Collection (GCC) - GCCコマンド・オプション

WiringNP: NanoPi NEO/NEO2/Air GPIO Programming with C - FriendlyARM WiKi

esp-wroom-02(esp8266)のSPIFFS機能でフラッシュメモリにHTMLファイルを追加する

・目的

esp8266のファイルシステムにHTMLファイルを

追加しwebサーバーを立ち上げる

HTMLファイルをスケッチ内に書かなくて

いいのでかなり楽にコードが書ける。

 

・方法

(1)SPIFFSの導入

esp8266のファイルシステムを使うための準備をする

まず以下のサイトからツールをダウンロード

https://github.com/esp8266/arduino-esp8266fs-plugin

f:id:shangtian:20180217111208p:plain

f:id:shangtian:20180217111216p:plain

 

ダウンロードし終わったら解凍して

Arduinoファルダーにtoolsフォルダを

作成してtools以下に先ほど解凍した

フォルダをコピーする

/Arduino/tools/

f:id:shangtian:20180217111639p:plain

この作業が終わるとESP8266 Skech Data Upload

が追加される。

f:id:shangtian:20180217111749p:plain

 

ファイルをesp8266にアップロードするには

スケッチフォルダを表示をクリックして

f:id:shangtian:20180217112053p:plain

 

dataフォルダーを作成

f:id:shangtian:20180217112127p:plain

Flash Size をno SPIFFS以外の物を選択する

今回は512k(64K SPIFFS)にした

1M SPIFFSとかにするとアプロード時間が

凄く長くなるので必要最小限の容量を選択した方がいい。

 

dataフォルダーにアップロードしたいファイル

を入れたらesp8266を書き込みモードに変更して

ESP8266 Skech Data Uploadをクリック

f:id:shangtian:20180217112425p:plain

 

(2)スケッチ

SPIFFS機能を使うにはFS.hをインクルード

 

 

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <FS.h>
const char *ssid = "*****"; const char *pass = "******"; ESP8266WebServer server(80); void setup() { SPIFFS.begin(); //SPIFFSを開始 Serial.begin(9600); WiFi.begin( ssid, pass); while( WiFi.status() != WL_CONNECTED) { delay(500); Serial.println("..."); } Serial.println(""); Serial.print("Connected to "); Serial.println(ssid); Serial.print("IP address: "); Serial.println(WiFi.localIP() ); if( MDNS.begin("esp8266")) { Serial.println("MDNS responder started"); } server.begin(); server.on("/",[]() { String tmp;
//index.htmlファイルの読み込み File index = SPIFFS.open("/index.html", "r"); if(!index) Serial.println("file open failed"); else{ tmp = index.readString();//index.htmlをstringで読み込み index.close();//ファイルを閉じる } server.send(200, "text/html", tmp); } ); } void loop() { server.handleClient(); }

以下が今回使ったhtmlファイル

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ESP Web Server</title>
</head>
<body>
<p>WWWWWWWWWWWWW</p>

</body>
</html>


・結果
実行すると以下の写真のようになる
ブラウザに192.168.2.112を
/>入力するとhtmlファイルのwwwwww
がブラウザに表示できた。

f:id:shangtian:20180217103052p:plain

esp-wroom-02(esp8266)でmicroSDカードを使ってみた

 

・目的

esp8266でmicroSDを使ってみる。microSDは動作電圧が3.3V

なのでロジックレベル変換をしなくていいんで楽。

 

・使用したもの

esp-wroom-02(esp8266)

microSDdip化キット

       http://akizukidenshi.com/catalog/g/gK-05488/

抵抗10kΩ4個

3端子レギュレータ3.3V500mA (NJU722333)

単三4本

ジャンパワイヤ

 

・方法

(1)回路組み立て

SPI通信でesp8266とmicroSDを接続する。

esp8266がマスターでmicroSDがスレーブだ。

 

microSD側のピン配置は以下の図。

microSD側で使用するピンはCD/DAT3,CMD,VDD,CLK,

VSS,DAT0。

VDDは3.3V電源にVSSはGNDに接続。

カード検出スイッチは今回使わない。

f:id:shangtian:20180213163518p:plain

出典:http://akizukidenshi.com/download/ds/akizuki/K-5488_AE-MICRO-SD-DIP.pdf

 

esp8266のピンアウトを示した。

SPI通信でmicroSDとやりとりするので

紫色のピンを使う。

f:id:shangtian:20180214172036p:plain

出典:http://eleclog.quitsq.com/2015/08/esp-wroom-02.html

 

esp8266とmicroSDの接続するピンを以下の表に示した。

esp8266 microSD
CLK(IO14) CLK
MISO(IO12) DATA0
MOSI(IO13) CMD
CS(IO15) CD/DAT3

 

3端子レギュレータNJU72233で3.3Vを供給する。

またIO15,IO2,IO0への配線はesp8266のFlash boot moode

で起動するため。

f:id:shangtian:20180213155121p:plain

f:id:shangtian:20180213154825j:plain

 

(2)スケッチ

 

SPI通信を使うのでSD.hだけでなく

SPI.hもインクルードする。

CS(チップセレクト)ピンを15ピンに

設定したが、他のピンであっても大丈夫だ。

 

CS(Chip Select)ピンはSS(Slave select)ピンと表記される

こともある。このピンはマスタ側(esp8266)が通信相手(microSD)

を選択するときに使う。マスタ側は通信する相手のCSピンのみを

Lowにして通信を開始する。つまり通信中だけCSがLowでそれ以外は

Highになるように設定する。setup()関数の最初でcsピンをOUTPUT

でHIGHに設定しておく。

 

#include <SD.h>
#include <SPI.h>

File myFile;
const int cs = 15;

void setup() {
  pinMode(cs,OUTPUT);
  digitalWrite(cs,HIGH);
  Serial.begin(9600);
  while(!Serial) {
    ;
  }
  Serial.println("Initializing SD card...");
  
  if(!SD.begin(cs)) {
    Serial.println("initialization failed");
    return;
  }
  Serial.println("initialaization done.");

  if(SD.exists("example.txt")) 
    Serial.println("example.txt exists.");
  else
    Serial.println("example.txt dosen't exist.");

  Serial.println("Creating example.txt");
  myFile = SD.open("example.txt", FILE_WRITE);


  if(myFile){
     Serial.println("writing ....");
     myFile.println("12345abcd");
     myFile.close();
  }else 
     Serial.println("error opening examole.txt");
  myFile = SD.open("example.txt");
  if(myFile){
    Serial.println("example.txt :");  

    while(myFile.available()) 
       Serial.write(myFile.read());
    myFile.close();
  }else
     Serial.println("error opening example.txt");
}

void loop() {
  
}

 

・実行結果

以下の写真が実行結果

ちゃんと動いてますな 

f:id:shangtian:20180214181726p:plain

 

 

参考文献

「SPI」の解説 - しなぷすのハード製作記

SPI通信で、PICと加速度センサを「お話」させてみた | 技ラボ

SDカードコネクタのピン配列: マイコンな日曜

卓上はんだ吸煙機をつくってみた



・目的

卓上はんだ吸煙機をつくる

 

・使用したもの

アクリル板

 

 

アイネックス ケース用ファン80mm 標準タイプ CFY-80F

アイネックス ケース用ファン80mm 標準タイプ CFY-80F

 

オウルテック 金属製ファンガード 8cm シルバー FANGuard-M8/II

ATtiny13a-pu 
TA7291P (モータードライバ)
NJM7805FA(5V 1A  3端子レギュレータ)

トルグスイッチ

DCコネクタ

ユニバーサル基板

オスピン

 

・方法

 (1)回路を組み立てる

 回路図を図1に示した。

単純にモータードライバはon/off

 のみにしか使っていない。

TA7291Pの4ピン(verf)は12Vに

7,8ピンも12Vにつないである。

 

適当なトランジスタがあれば

トランジスタを使った方がいいかも

しれない。

 

今回使ったらファンは3端子で

赤黒白のコードでつながれていた

使った端子は赤と黒のコード

f:id:shangtian:20180102232923p:plain

 

 (2)プログラム

スケッチを図2に示した。

0ピンにトルグスイッチを接続

しており、digitalRead()で値を受けとる。

const int IN1 = 1;
const int IN2 = 2;
const int SWI = 0;
void setup() {
  pinMode(IN1,OUTPUT);
  pinMode(IN2,OUTPUT);
  pinMode(SWI,INPUT);
  //Serial.begin(9600);
  }

void loop() {
  int val = digitalRead(SWI);
  //Serial.println(val);
  if(val == 0) off();
  else rot();

  delay(1000);
}

void rot() {
  digitalWrite(IN1,HIGH);
  digitalWrite(IN2,LOW);
  
}

void off() {
  digitalWrite(IN1,LOW);
  digitalWrite(IN2,LOW);
}

図2:スケッチ

 

(3)組み立て

 アクリル板を適当な大きさに切って

ファンをグルーガンで接着。

 

基板もファンの側面に接着。
f:id:shangtian:20180109125215j:image

 

 

一応完成
f:id:shangtian:20180109125149j:image

 

・結果

線香を燃やして試してみたら

ちゃんと煙を吸引していた

ので一応成功

 

ただスイッチでon/offのコントロール

しかしてないんでマイコンを使う

意味が無かった気がする

 

nanopi neo のセットアップ

 

この記事は MCC Advent Calendar 2017 - Adventar の20日目の記事です。

前回はgurapomuさんによる

人間性とか社会性とかの話 - ヒューマンコンテンツにっき

でした。

 

目次 

 

・nanopi neoとは 

 

nanopi neoはFriendlyARM社が

発売しているpiボード。

このボードはUbuntu core 16.04

をサポートしており、他にも

使えるosがある模様。

 

nanopi neoにはmicroSDカード

スロット、USBポート、LANポート

電源供給用microUSBポートをそれぞれ

1個ずつそなえている。またAudio I/O

5pin、 GPIO 36pinを装備しており

UART SPI I2Cもサポートしている。

 

但しWiFiBluetoothは内蔵していない。

これは値段相応ってところですねぇ

Wifiがついてないのは結構痛い

ただusb無線lanアダプタでwifi接続も

可能なんだけど自分はうまくいかなかったです

 

 

秋月電子では1680円で販売されている。

Raspberry piが4000~5000円するのと

比べるとかなり安価。

 

 ・OS イメージの書きこみ

microSDカードにOSイメージを

書き込む。

 https://m.mediafire.com/folder/n5o8ihvqhnf6s/Nanopi-NEO

に飛んでofficia-lROMsファイルの中の

nanopi-neo_FriendlyCore-Xenial_4.11.2_20171122.img

をダウンロード

 

SDカードをマウントしてイメージを書き込む

$diskutil list
$diskutil unmountDisk /dev/disk2
$ cd Downloads
$sudo dd if=nanopi-neo_FriendlyCore-Xenial_4.11.2_20171122 of=/dev/rdisk2 bs=1m

時間が数分かかるので待つ

 

・シリアル通信で端末を開く

SDカードにイメージを書き込み終わったら

nanopiにSDカードを入れる。

電源を入れる前にシリアル変換機を

UARU0に接続する。

 

以下の表のように接続すること。

 

シリアル変換 nanopi neo
RX TX
TX RX
5V ---
GND GND

f:id:shangtian:20171220081836j:plain

出典:File:NEO pinout-02.jpg - FriendlyARM WiKi

 

f:id:shangtian:20171217181811j:plain

 

接続し終わったらターミナルで

$ls -l /dev/tty.*

でシリアル変換機のデバイス名を調べると

/dev/tty.usbserial-A1032F1Q

であったので

$screen /dev/tty.usbserial-A1032F1Q 115200

を実行してシリアル接続をする

$screen 接続先デバイス ボーレート

という感じで書く nanopi neoとは115200bps

で通信可能

 

nanopi neoを電源に接続すると

NanoPi-NEO login:
Password:

を要求される

デフォルトで

non-root user

ユーザー名 : pi
パス    : pi

 

root user

ユーザー名 : root 
パス: fa

 

ログインすると図のような画面が表れる。

f:id:shangtian:20171217175106p:plain

 

ユーザー名、パスワード、言語、タイムゾーンssh

などの変更は

$sudo npi-config

f:id:shangtian:20171217180611p:plain

・ピンの半田づけとヒートシンクの取り付け

まずはオスピンを半田づけしていく

f:id:shangtian:20171217181709j:plain

 

Nanopi neo

はかなり熱を発するとのことなんで

ヒートシンクを取りつける

f:id:shangtian:20171217181910j:plain

 

 白い正方形のやつがcpuグリス

f:id:shangtian:20171217182032j:plain

グリスを載せたらヒートシンク

ネジ止めする

f:id:shangtian:20171217182112j:plain

なんか間が結構空いてるなぁ

f:id:shangtian:20171217182135j:plain

 

明日はepcnt19さんによるNginxモジュールを書いてみるです。

 

shangtian.hatenablog.com

 

<参考文献>

NanoPi NEO - FriendlyARM WiKi

screenを使ったserial接続と終了の方法メモ - Qiita

SDカードにイメージを書き込む方法 - Qiita

dd (UNIX) - Wikipedia

NanoPi NEO初期設定メモ · GitHub