forked from xiaozhi/xiaozhi-esp32
增加4G扩展 (#653)
在不影响wifi原版功能的基础上,方便想增加4G功能的朋友通过内置的fpc座子连接4G模块; 默认开机是wifi模式,在联网成功前,双击主按钮,可以进行WIFI和4G网络切换; 若在wifi模式,在成功连接前,可单击主按钮可以进行重新配网;
This commit is contained in:
@@ -7,22 +7,22 @@
|
||||
|
||||
static const char *TAG = "DualNetworkBoard";
|
||||
|
||||
DualNetworkBoard::DualNetworkBoard(gpio_num_t ml307_tx_pin, gpio_num_t ml307_rx_pin, size_t ml307_rx_buffer_size)
|
||||
DualNetworkBoard::DualNetworkBoard(gpio_num_t ml307_tx_pin, gpio_num_t ml307_rx_pin, size_t ml307_rx_buffer_size, int32_t default_net_type)
|
||||
: Board(),
|
||||
ml307_tx_pin_(ml307_tx_pin),
|
||||
ml307_rx_pin_(ml307_rx_pin),
|
||||
ml307_rx_buffer_size_(ml307_rx_buffer_size) {
|
||||
|
||||
// 从Settings加载网络类型
|
||||
network_type_ = LoadNetworkTypeFromSettings();
|
||||
network_type_ = LoadNetworkTypeFromSettings(default_net_type);
|
||||
|
||||
// 只初始化当前网络类型对应的板卡
|
||||
InitializeCurrentBoard();
|
||||
}
|
||||
|
||||
NetworkType DualNetworkBoard::LoadNetworkTypeFromSettings() {
|
||||
NetworkType DualNetworkBoard::LoadNetworkTypeFromSettings(int32_t default_net_type) {
|
||||
Settings settings("network", true);
|
||||
int network_type = settings.GetInt("type", 1); // 默认使用ML307 (1)
|
||||
int network_type = settings.GetInt("type", default_net_type); // 默认使用ML307 (1)
|
||||
return network_type == 1 ? NetworkType::ML307 : NetworkType::WIFI;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ private:
|
||||
size_t ml307_rx_buffer_size_;
|
||||
|
||||
// 从Settings加载网络类型
|
||||
NetworkType LoadNetworkTypeFromSettings();
|
||||
NetworkType LoadNetworkTypeFromSettings(int32_t default_net_type);
|
||||
|
||||
// 保存网络类型到Settings
|
||||
void SaveNetworkTypeToSettings(NetworkType type);
|
||||
@@ -34,7 +34,7 @@ private:
|
||||
void InitializeCurrentBoard();
|
||||
|
||||
public:
|
||||
DualNetworkBoard(gpio_num_t ml307_tx_pin, gpio_num_t ml307_rx_pin, size_t ml307_rx_buffer_size = 4096);
|
||||
DualNetworkBoard(gpio_num_t ml307_tx_pin, gpio_num_t ml307_rx_pin, size_t ml307_rx_buffer_size = 4096, int32_t default_net_type = 1);
|
||||
virtual ~DualNetworkBoard() = default;
|
||||
|
||||
// 切换网络类型
|
||||
|
||||
Reference in New Issue
Block a user