やっていること
Switchbotの温湿度計を利用した室温取得とデータ蓄積
Raspberry Pi Zero W でBluetooth通信を利用して、スイッチボットの温湿度計から情報を定期的に取得しています
一時間に1度取得し、メモリ上に保管してLINEのMessagingAPIを利用して、LINE通知をしていました。
SQLite3を使用してデータ蓄積をする機能の実装を行っていた時に問題が発生しました。
開発環境
Raspberry Pi Zero WのプロジェクトディレクトリをWindowsPCのZドライブとして読み込み
VScodeでZドライブを開き、ソースコードを編集。
なぜRemoteSSHを使わないのか??
Zero W君はRemoteSSHが使えない。。。
仕方がなくこのよう環境で開発を行っています。
ここで本題のライブラリ参照できない問題
Zドライブで読み込みをしているので、ライブラリの参照先はWindowsPCになる。
ライブラリは当然ないので、tab補完や関数の詳細をF12などで見に行くことができない。
解決方法
ラズパイのライブラリをWindowsに持ってくる
Zドライブとして読み込んでいるラズパイ上のディレクトリに移動する
cd /home/pi/work/source
ライブラリがあるディレクトリをtarで持ってくる
tar -czf library_raspi.tar.gz /usr/include
WindowsのファイルエクスプローラからZドライブに表示されるtar.gzファイルを適当な場所にコピーして展開する
VScodeの.vscode/c_cpp_properties.jsonにコピーしたフォルダを設定する。
※ファイルがない場合はCtrl + Shift + PでC/C++: Edit Configuration (JSON)的な感じで検索
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:\\Users\\user_name\\Documents\\pi_include.tar\\pi_include\\usr\\include"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.19041.0",
"compilerPath": "cl.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-msvc-x64"
}
],
"version": 4
}
includePathに設定するとこのプロジェクトでは、ここも参照してくれるようになります

