🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

IoT

IoT(Internet of Things)とは、インターネットがコンピュータなどの情報・通信機器のネットワークだけでなく、世の中のある様々なモノに接続されて自動認識・自動制御・遠隔計測などの能力を備えることです。「モノのインターネット」と一般的にいわれます。

Q&A

解決済

1回答

7488閲覧

Arduino ライブラリ管理について

ryu422

総合スコア17

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

IoT

IoT(Internet of Things)とは、インターネットがコンピュータなどの情報・通信機器のネットワークだけでなく、世の中のある様々なモノに接続されて自動認識・自動制御・遠隔計測などの能力を備えることです。「モノのインターネット」と一般的にいわれます。

0グッド

0クリップ

投稿2020/01/25 09:17

編集2020/02/11 04:11

<FS.h>をインクルードしたいのですが
ツールタブのライブラリ管理で検索しても該当しない場合はどのようにしたらよいでしょうか
以前、GitHubなどでダウンロードしたzipファイルをArduinoのライブラリフォルダに移動させることで対応できることを聞いたことがあったのですが
具体的な手順を忘れてしまいました
ご助言いただければ幸いです。

追記
ESP8266,ESP-WROOM-02のボードを用いてデータロガーとして活用したいと考えております。ツールタブのボードはESP8266を選択しています。
参考
Arduino IDE に ESP8266 SPIFFS ファイルシステムアップローダーをインストールする方法

arduino

1#include <SoftwareSerial.h> 2#include <FS.h> 3#include <ESP8266WiFi.h> // ESP8266用ライブラリ 4#include <WiFiUdp.h> // UDP通信を行うライブラリ 5#define PIN_CAM 13 // IO 13(5番ピン)にPch-FETを接続する 6#define TIMEOUT 2000 // タイムアウト 2秒 7 8#include <Arduino.h> 9#include <Wire.h> 10#include <time.h> 11#include "Adafruit_SHT31.h" 12Adafruit_SHT31 sht31 = Adafruit_SHT31(); 13 14#define JST 3600*9 //日時 15 16#define FILENAME "/--.csv" 17 18#define SSID "----" // 無線LANアクセスポイントのSSID 19#define PASS "----" // 無線LANアクセスポイントのパスワード 20 21#define SENDTO "192.168.0.255" // UDP送信先IPアドレス(変更する必要なし) 22#define PORT 1024 // UDP送信ポート番号(変更する必要なし) 23 24//FTPサーバーと接続するための設定 25#define FTP_TO "192.168.------" // FTP 送信先のIPアドレス(入力されているのは例です。ご自分のIPに変えてください) 26#define FTP_USER "-----" // FTP ユーザ名 27#define FTP_PASS "----" // FTP パスワード 28#define FTP_DIR "" // FTP ディレクトリ 29 30File file; 31WiFiUDP udpFtp; // UDP通信用のインスタンスを定義 32WiFiServer server(80); // Wi-Fiサーバ(ポート80=HTTP)定義 33 34void setup() { 35 36 SPIFFS.begin(); 37 Serial.begin(115200); // 動作確認のためのシリアル出力開始 38 WiFi.mode(WIFI_STA); // 無線LANをSTAモードに設定 39 WiFi.begin(SSID, PASS); // 無線LANアクセスポイントへ接続 40 while (WiFi.status() != WL_CONNECTED) { // 接続に成功するまで待つ 41 Serial.print("."); 42 delay(500); // 待ち時間処理 43 } 44 45 if (! sht31.begin(0x45)) 46 { 47 Serial.println("Couldn't find SHT31"); 48 while (1) delay(1); 49 50 configTime( JST, 0, "ntp.nict.jp", "ntp.jst.mfeed.ad.jp"); 51 } 52 server.begin(); // サーバを起動する 53 54 55 file.seek(1, SeekSet); 56 char c = file.read(); 57 Serial.println(""); 58 Serial.print("spiffs:"); 59 Serial.println(c); 60 file.close(); 61} 62 63void loop() { 64}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2020/01/25 12:59

そのファイルはそもそもなんのファイルなんでしょう。 どー考えても、.hファイルだけ見つけてきたところで無駄でしかないと思いますが
guest

回答1

0

ベストアンサー

あなたのやりたいことは「FS.hをインストールする」ことなんでしょうか。適当なファイルにFS.hと名前をつけて読めば...いいわけないですよね。本当にやりたいことはなにかを考えて、それに対して正しい手順を辿るようにしないと、余計訳のわからない迷い道に入っちゃいますよ。

とりあえず、私の手元で調べてみると、FS.hというファイルは
C:\intelFPGA_lite\17.1\quartus\bin64\cygwin\usr\include\cygwin のディレクトリ
C:\Users\user\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\FS\src のディレクトリ
C:\Users\user\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\tools\sdk\include\lwip\lwip\apps のディレク トリ
C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\cores\esp8266 のディレクトリ
C:\Users\user\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\usr\include\linux のディレクトリ
C:\Users\user\STM32Cube\Repository\STM32Cube_FW_F4_V1.17.0\Middlewares\Third_Party\LwIP\src\include\lwip\apps のディレクトリ
C:\Users\user\STM32Cube\Repository\STM32Cube_FW_F4_V1.18.0\Middlewares\Third_Party\LwIP\src\include\lwip\apps のディレクトリ
にありました。それぞれサイズが違う(=中身の違う)ファイルです。これだけ見ても、単に"FS.h"をインストールしたい、という言葉の無意味さがわかると思います。

で、Arduino絡みに絞ったとしても、含まれているのはArduino15\packages\esp32\hardwareかArduino15\packages\esp8266\hardwareディレクトリ以下です。つまりこれはFS.hはボードライブラリに含まれているということであり、一般のライブラリとは別扱いですから

ツールタブのライブラリ管理

には関わらないということです。
もし、適切なボード(デバイス)を選んでいるのにFS.hが見つからないのであれば、ボードライブラリのインストールに失敗したか、あるいは壊れてしまっているか、ということになるでしょう。Arduino IDEのメニュー [ツール]-[ボード >]-[ボードマネージャ]から一旦ボードライブラリの削除/再インストールを試みる、というようなことになると思います。


追記

ダウンロードしたzipファイルをArduinoのライブラリフォルダに移動させる

あぁ、もしかしてESP8266の'ボードの'ライブラリをインストールする(かなり古い)やり方のことかしら?
いまどきは、方法が整備されたのでやり方がかわっています。Googleで'ESP8266 Arduino ライブラリ'を検索するとトップに(今後もトップである保証は出来ませんが)ESP8266/ArduinoのGihubのページがヒットしますので、そちらのページのReadmeを読んで、そのようにして下さい。

なお、ボードのライブラリは付加するデバイスの管理とは別系統になっているので、管理は[ツール]メニューの[ボード]->[ボードマネージャ]で行います。Using Boards Managerの方法でリポジトリを登録すると、ボードマネージャからアップデートの確認・実行が出来るようになるはずです。

私の環境では、SHT31ライブラリは入れていないので
#include "Adafruit_SHT31.h"
Adafruit_SHT31 sht31 = Adafruit_SHT31();
if (! sht31.begin(0x45))
の行をそれぞれコメントアウトしましたが、質問のソースでコンパイルのエラーは出ませんでした。

投稿2020/01/25 12:58

編集2020/02/11 05:50
thkana

総合スコア7703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryu422

2020/02/12 04:28

バージョンの更新及び再インストールを試みたら正常にコンパイルできました お手数おかけしました ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問