-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #10 from shusuke0812/feature/wifi_scanner
Add WiFi checker
- Loading branch information
Showing
27 changed files
with
406 additions
and
60 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
{ | ||
"files.associations": { | ||
"system_error": "cpp", | ||
"any": "cpp", | ||
"array": "cpp", | ||
"atomic": "cpp", | ||
"*.tcc": "cpp", | ||
"cctype": "cpp", | ||
"clocale": "cpp", | ||
"cmath": "cpp", | ||
"cstdarg": "cpp", | ||
"cstddef": "cpp", | ||
"cstdint": "cpp", | ||
"cstdio": "cpp", | ||
"cstdlib": "cpp", | ||
"cstring": "cpp", | ||
"ctime": "cpp", | ||
"cwchar": "cpp", | ||
"cwctype": "cpp", | ||
"deque": "cpp", | ||
"list": "cpp", | ||
"unordered_map": "cpp", | ||
"unordered_set": "cpp", | ||
"vector": "cpp", | ||
"exception": "cpp", | ||
"algorithm": "cpp", | ||
"functional": "cpp", | ||
"iterator": "cpp", | ||
"map": "cpp", | ||
"memory": "cpp", | ||
"memory_resource": "cpp", | ||
"numeric": "cpp", | ||
"optional": "cpp", | ||
"random": "cpp", | ||
"string": "cpp", | ||
"string_view": "cpp", | ||
"tuple": "cpp", | ||
"type_traits": "cpp", | ||
"utility": "cpp", | ||
"fstream": "cpp", | ||
"initializer_list": "cpp", | ||
"iomanip": "cpp", | ||
"iosfwd": "cpp", | ||
"iostream": "cpp", | ||
"istream": "cpp", | ||
"limits": "cpp", | ||
"new": "cpp", | ||
"ostream": "cpp", | ||
"sstream": "cpp", | ||
"stdexcept": "cpp", | ||
"streambuf": "cpp", | ||
"cinttypes": "cpp", | ||
"typeinfo": "cpp" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
#ifndef _KikurageBLECompletion_H_ | ||
#define _KikurageBLECompletion_H_ | ||
|
||
#include <M5Stack.h> | ||
#include <ArduinoJson.h> | ||
|
||
enum class KikurageBLECompletion { | ||
WiFiSettingSuccess, | ||
WiFiSettingFail, | ||
}; | ||
|
||
struct BLECompletionMessage { | ||
String type; // success or error | ||
String description; | ||
}; | ||
|
||
class KikurageBLECompletionHandler { | ||
public: | ||
BLECompletionMessage getMessage(KikurageBLECompletion completion); | ||
}; | ||
|
||
String getBLECompletionMessageJSONString(BLECompletionMessage message); | ||
|
||
#endif // _KikurageBLECompletion_H_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,20 @@ | ||
#ifndef _KikurageBLEServer_H_ | ||
#define _KikurageBLEServer_H_ | ||
|
||
#include <M5Stack.h> | ||
#include <NimBLEDevice.h> | ||
#include "KikurageBLEServerCallbacks.h" | ||
#include "KikurageBLECharacteristicCallbacks.h" | ||
|
||
#include "KikurageBLECompletion.h" | ||
|
||
class KikurageBLEServer { | ||
public: | ||
void initialize(); | ||
void loop9axisSensor(); | ||
void sendWiFiToCentral(String jsonString); | ||
void sendWiFiSettingCompletionToCentral(KikurageBLECompletion completion); | ||
}; | ||
|
||
extern KikurageBLEServer kBLEServer; | ||
|
||
#endif // _KikurageBLEServer_H_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,12 @@ | ||
#ifndef _KikurageBLEState_H_ | ||
#define _KikurageBLEState_H_ | ||
|
||
extern bool isConnected; | ||
#include <utility/M5Timer.h> | ||
#include "bluetooth/KikurageBLEServer.h" | ||
|
||
extern bool isBLEConnected; | ||
|
||
extern M5Timer timer; | ||
extern int wifiSettingTimerId; | ||
|
||
#endif // _KikurageBLEState_H_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
#ifndef _KikurageWiFi_H_ | ||
#define _KikurageWiFi_H_ | ||
|
||
#include <M5Stack.h> | ||
#include <ArduinoJson.h> | ||
|
||
struct KikurageWiFi { | ||
int totalCount; | ||
int count; | ||
String ssid; | ||
int32_t channel; | ||
int32_t rssi; | ||
bool isAuthOpen; | ||
}; | ||
|
||
String getKikurageWiFiJSONString(KikurageWiFi kikruageWiFi); | ||
|
||
#endif // _KikurageWiFi_H_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
#ifndef _KikurageWiFiSetting_H_ | ||
#define _KikurageWiFiSetting_H_ | ||
|
||
#include <M5Stack.h> | ||
#include <WiFi.h> | ||
#include <utility/M5Timer.h> | ||
#include "wifi/KikurageWiFiState.h" | ||
#include "bluetooth/KikurageBLEServer.h" | ||
#include "bluetooth/KikurageBLEState.h" | ||
|
||
class KikurageWiFiSetting { | ||
public: | ||
void setupWiFi(const char *ssid, const char *password); | ||
}; | ||
|
||
#endif // _KikurageWiFiSetting_H_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#ifndef _KikurageWiFitate_H_ | ||
#define _KikurageWiFiState_H_ | ||
|
||
#include <M5Stack.h> | ||
|
||
extern bool isStopWiFiScan; | ||
extern bool isWiFiSetting; | ||
|
||
#endif // _KikurageWiFiState_H_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
#ifndef _WiFiScanner_H_ | ||
#define _WiFiScanner_H_ | ||
|
||
#include <M5Stack.h> | ||
#include <WiFi.h> | ||
#include <vector> | ||
#include "wifi/KikurageWiFi.h" | ||
|
||
class WiFiScanner { | ||
public: | ||
void initialize(); | ||
void loopScanDebug(); | ||
std::vector<KikurageWiFi> getWiFiList(); | ||
}; | ||
|
||
#endif // _WiFiScanner_H_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,43 @@ | ||
#include "bluetooth/KikurageBLECharacteristicCallbacks.h" | ||
|
||
Color color; | ||
|
||
void KikurageBLECharacteristicCallbacks::onWrite(NimBLECharacteristic *pCharacteristic) { | ||
Serial.println("debug: called write of characteristic"); | ||
M5.Lcd.println("white"); | ||
std::string value = pCharacteristic->getValue(); | ||
String colorval = String(value.c_str()); | ||
|
||
int r, g, b; | ||
colorval.toLowerCase(); | ||
if (colorval.charAt(0) != '#') { | ||
r = g = b = 0; | ||
M5.Lcd.fillScreen(0); | ||
} else { | ||
colorval.toLowerCase(); | ||
r = color.convertRGB(colorval.substring(1, 3)); | ||
g = color.convertRGB(colorval.substring(3, 5)); | ||
b = color.convertRGB(colorval.substring(5, 7)); | ||
|
||
int rgb565 = ((r>>3)<<11) | ((g>>2)<<5) | (b>>3); | ||
M5.Lcd.fillScreen(rgb565); | ||
} | ||
String stopWiFiScanCommand = String(value.c_str()); | ||
|
||
DynamicJsonDocument doc(128); | ||
deserializeJson(doc, stopWiFiScanCommand); | ||
|
||
bool temp = doc["is_stop"]; | ||
isStopWiFiScan = temp; | ||
|
||
Serial.print("debug: called stop wifi scan = "); | ||
Serial.println(temp); // `true = 1` | ||
} | ||
|
||
void KikurageBLECharacteristicCallbacks::onRead(NimBLECharacteristic *pCharacteristic) { | ||
Serial.println("debug: called read of characteristic"); | ||
M5.Lcd.println("read"); | ||
} | ||
|
||
void KikurageBLEWiFiSettingCharacteristicCallbacks::onWrite(NimBLECharacteristic *pCharacteristic) { | ||
// change flag | ||
isWiFiSetting = true; | ||
|
||
// decode | ||
std::string value = pCharacteristic->getValue(); | ||
String wifiSettingCommand = String(value.c_str()); | ||
|
||
DynamicJsonDocument doc(128); | ||
deserializeJson(doc, wifiSettingCommand); | ||
|
||
const char *ssid = doc["ssid"]; | ||
const char *password = doc["password"]; | ||
|
||
KikurageWiFiSetting wifiSetting; | ||
wifiSetting.setupWiFi(ssid, password); | ||
} | ||
|
||
void KikurageBLEWiFiSettingCharacteristicCallbacks::onRead(NimBLECharacteristic *pCharacteristic) { | ||
Serial.println("debug: called read of characteristic"); | ||
M5.Lcd.println("read"); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
#include "bluetooth/KikurageBLECompletion.h" | ||
|
||
BLECompletionMessage KikurageBLECompletionHandler::getMessage(KikurageBLECompletion completion) { | ||
switch (completion) { | ||
case KikurageBLECompletion::WiFiSettingSuccess: | ||
return { "success", "wifi setting success" }; | ||
case KikurageBLECompletion::WiFiSettingFail: | ||
return { "error", "wifi setting fail" }; | ||
default: | ||
return { "error", "message not found" }; | ||
} | ||
} | ||
|
||
String getBLECompletionMessageJSONString(BLECompletionMessage message) { | ||
DynamicJsonDocument doc(128); | ||
|
||
doc["type"] = message.type; | ||
doc["description"] = message.description; | ||
|
||
String output; | ||
serializeJson(doc, output); | ||
|
||
return output; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.