大学教育の質の保証・向上ならびに 電子化及びオープンアクセスの推進の観点から 学校教育法第百十三条に基づき、 教育研究活動の状況を公表しています。
第百十三条 大学は、教育研究の成果の普及及び活用の促進に資するため、その教育研究活動の状況を公表するものとする。
Nefryで自動車の電池電圧のリアルタイムモニタリング https://a.yamagata-u.ac.jp/amenity/network/SensorNodeChart.asp?nQuantityID=608&nSensorNodeID=273&interval=s&datapoints=50
Nefryで鉛蓄電池の電圧モニタリング用IoTデバイスの試作 動作テストとして,アルカリ電池の電圧を測定した テスターの値: 1.573V IoTデバイスの測定値:1.582, 1.598V (Ref:https://a.yamagata-u.ac.jp/amenity/network/SensorNodeProperty.asp?id=273) https://osdn.net/projects/ito-manager/scm/git/ITO-manager5.0/blobs/b1f0b29fcccdaa27c43176cdbabb1e36655e9c8c/trial/HTTP-MEMORY-GenXML/HTTP-MEMORY-GenXML.ino
https://osdn.net/projects/ito-manager/scm/git/ITO-manager5.0/blobs/24059ded954d008d57447241bdb7bc5d9ac953e8/specification/xMitFormat.txt
NefryでAD変換のデータを起動後30秒まで1秒感覚,30秒後は30秒間隔に修正 https://osdn.net/projects/ito-manager/scm/git/ITO-manager5.0/blobs/374271a20d118671002aeb14d53dcacbf0ae497a/trial/HTTP-MEMORY-test/HTTP-MEMORY-test.ino
Nefryにメモリ記録のコードを追加した.内蔵フラッシュメモリ(SPIFFS)への記録を断念したので,当面,メモリに記録する. https://osdn.net/projects/ito-manager/scm/git/ITO-manager5.0/blobs/9791b1723e58e41599ebc96da1a6965ac3d7c151/trial/HTTP-MEMORY-test/HTTP-MEMORY-test.ino
Nefry のウェブConsoleデバッグは使い物にならないかも? ConsoleデバッグをするとHTTP Clientの動作が不安定またはデバッグができない.インターネット系のコードの開発は,別の方法でデバッグするか,デバッグしなければよい. 取り急ぎ逃げたコード↓ String szCommandReadURL = szCommandReadBaseURL + "?DeviceID=" + DEVICEID; //以下3行は,デバッグ用に追加 szCommandReadURL = szCommandReadURL + "&AD1=" + AD1[nADcount].ADValue; szCommandReadURL = szCommandReadURL + "&EphochTime=" + AD1[nADcount].nEphochTime; szCommandReadURL = szCommandReadURL + "&BootedClock=" + AD1[nADcount].nBootedClock; https://ja.osdn.net/projects/ito-manager/scm/git/ITO-manager5.0/blobs/master/trial/HTTP-MEMORY-test/HTTP-MEMORY-test.ino
NefryでSPIFFSを使おう なぜか,HTTPClientが動作しなくなったので,開発を中止. https://osdn.net/projects/ito-manager/scm/git/ITO-manager5.0/blobs/master/trial/HTTP-SPIFFS-test/HTTP-SPIFFS-test.ino
IoTのコマンドを読み出すHTTPSのリクエストはNefryで動作するか? HTTPClientが使えるようである.ヘッダーファイルは,ESP8266HTTPClient.hが必要. サンプルコードは,下記を参照のこと↓ https://osdn.net/projects/ito-manager/scm/git/ITO-manager5.0/blobs/master/trial/HTTP-test/HTTP-test.ino
Nefry内にはバックアップ用の電池がないため,RTCのクロックはリセットされる.NTPでネット経由で時計合わせができるサンプルコードを書いてみた. ポイントは,NTPClientのupdateはloop()内に記述してください. タイマーイベント内では動作しないようです. サンプルコードは,下記のURLを参照してください. https://ja.osdn.net/projects/ito-manager/scm/git/ITO-manager5.0/blobs/c7bcf80fb6c24efed0d2e3d173bd04ad5b34c186/trial/NTP-test/NTP-test.ino
Nefryが自閉症になったら,下記の手順で復帰できるようです.それでもダメなときは3.3VのUSBシリアル変換アダプター(FTDI)で書き込めば大丈夫です. https://nefry.studio/Q%26A/%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84/ このモードは、ユーザプログラムを実行しないでNefryのCoreだけが起動するため書き込みができる可能性が大幅に高いです。 どのようにやるのか順を追って説明します。 Nefryのリセットボタンを押す。 NefryのSWボタンを押し続ける。 NefryのLEDが赤く点灯するのでそうしたらSWボタンから手を放す。 上手くいけば、WiFiが出力され、NefryのWebページを見るとWriteModeという表記が増えているはずです。
Nefry (ESP8266ベース)のAD変換器は,SAR ADC(逐次比較型)の可能性が大 ESP8266EX is embedded with a 10-bit precision SARADC. TOUT (Pin6) is defined as below http://espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf
Nefryでdelay関数を使うプログラムの更新などに使うウェブページが遅くて使い物にならない.おそらくCPUをdelay関数が占有しているのだろう.そこで,timer1割り込みを使ったコードに変更してみた. サンプルコードURL: https://edu.yz.yamagata-u.ac.jp/Public/54299/2016/everyone/Nefry/Timer1samplecode.cpp
ESP8266には,タイマーが3つ搭載されているようある.その1つのtimer1は,23bit CountDown Timerになっている(https://github.com/esp8266/Arduino/blob/master/cores/esp8266/esp8266_peri.h).すなわち,2の23乗-1の値までタイマーに指定できる.さらに,プリスケーラは,1, 16, 256が搭載されている.基本クロックは,CPUのクロック周波数80MHzを基準にしているようである.タイマーの最大値は,プリスケーラを256にしたときに,約26.8秒となる.それ以上は,timer2割り込みが使えそうであるが,その関数は,まだ見つかっていない.なお,timer2は,32bit CountUp Timerになっている. ライブラリーのクラス↓ https://github.com/esp8266/Arduino/blob/master/cores/esp8266/core_esp8266_timer.c サンプルコード↓ https://github.com/esp8266/Arduino/blob/master/cores/esp8266/Tone.cpp 以下,ヘッダーファイルから抜粋↓ https://github.com/esp8266/Arduino/blob/master/cores/esp8266/Arduino.h //timer dividers #define TIM_DIV1 0 //80MHz (80 ticks/us - 104857.588 us max) #define TIM_DIV16 1 //5MHz (5 ticks/us - 1677721.4 us max) #define TIM_DIV265 3 //312.5Khz (1 tick = 3.2us - 26843542.4 us max) //timer int_types #define TIM_EDGE 0 #define TIM_LEVEL 1 //timer reload values #define TIM_SINGLE 0 //on interrupt routine you need to write a new value to start the timer
大学教育の質の保証・向上ならびに 電子化及びオープンアクセスの推進の観点から 学校教育法第百十三条に基づき、 教育研究活動の状況を公表しています。
第百十三条 大学は、教育研究の成果の普及及び活用の促進に資するため、その教育研究活動の状況を公表するものとする。