DCC控制器模型铁路- WiFi版

该单元加上App提供了一个完整的DCC控制器,具有击败更昂贵系统的功能。

WiFi版:

该单元加上App提供了一个完整的DCC控制器,具有击败更昂贵系统的功能。

*新功能:控制一个loco与双用户在2部手机/平板电脑

物有所值,可靠,使用简单,定制系统,以匹配您的火车头花名册。

包括F1到F32功能按钮兼容最新的声音解码器

添加您自己的loco名称和函数标题。

•在Android设备(手机或平板电脑)上安装App

•插入直流15伏电源

•存储您的花名册多达100个机车

•控制多达4列火车在同一时间与许多其他运行在后台

这个系统有什么不同?

一个非常简单的电子电路为轨道提供DCC信号和电源,然而应用程序做了真正的工作!你手机上的电脑被充分利用,通过构建所需的代码来形成每个指令包,从而简化了控制器的工作!

新的WiFi应用程序,具有4位寻址,CV读写,主程序(PoM)和制作组成

“机车DCC 3 WiFi”

有史以来最简单的,NMRA兼容的DCC指挥站!!看看下面的功能列表!!

适用于NMRA兼容解码器,如巴赫曼,伦茨,阿特拉斯,霍恩比等

包括指令。

这个革命性的系统在应用程序内编译操作DCC数据包,这些数据包被发送到微控制器接口,与DCC时钟信号相结合。

完整的应用程序功能包括:

•花名册包含多达100个locos与短或长地址

•理想的小到中型布局

•2.5安培负载驱动12台或以上的OO/HO机车(Z或N轨距更多)

•短路保护

•自动过载切断

•灯光和方向

•功能说明1 ~ 32

•道岔/分/配件255对输出

•自定义机车的命名

•读/写CV的1到1024

•添加您自己的附件地址

•连接2或3个手机/平板电脑来控制布局

•双重控制一个火车头可能与速度和方向反映在每个设备

•可编辑的标题,可见性和瞬间选项的28个功能按钮

•4个屏幕速度条,一次控制4个火车头

•增加每个火车头的最大速度

•长地址(1-9999)和短地址(1-127)

•主程序

•形成一个组合(双头你的火车头)

•由Arduino供电

注:应用程序适用于Android 8以上。应用程序与苹果iOS不兼容

电源:直流电压12 ~ 18伏

连接前确保输出插头极性正确。

例如,用2.1mm/2.5mm x 5.5 mm插头连接15v 2安培电源或连接15v 3安培电源,如下所示:

PowerPax SW4323B, 2.1mm/2.5mm x 5.5 mm插头,或将Multibao 15v 3A适配器与2.1mm/2.5mm x 5.5 mm插头连接,或将Photonic Universe 16v 3A适配器与2.1mm/2.5mm x 5.5 mm插头连接,或搜索“15V 3A电源AC/DC适配器100V-240V 50/60hz DC 15伏3安培45瓦15W”

对于N或Z量规,使用12v 3安培电源适配器和2.1mm/2.5mm x 5.5 mm插头,不要使用交流或直流列车控制器,因为它们不能提供真正的直流电压。

•适用于14岁以上的用户。

•只供室内使用。

代码

// v2 18 march 2024

#include

#include

String inString;

String outString;

String inMsg;

String outMsg;

/* Set these to your desired credentials. */

const char *ssid = "DCC_E017";

const char *password = "123456789";

WiFiServer server(80);

void setup() {

Serial.begin(9600);

Serial.setTimeout(5);

Serial.println();

Serial.println("Configuring access point...");

outMsg = "";

WiFi.softAP(ssid, password);

IPAddress myIP = WiFi.softAPIP();

//Serial.print("AP IP address: ");

//Serial.println(myIP);

server.begin();

//Serial.println("Connected to the WiFi network");

delay(5000);

//Serial.println("Server started");

}

void loop() {

get_inMsg();

WiFiClient client = server.available();

if (!client) {

return;

}

// Wait until the client sends some data

//Serial.println("new client");

while(!client.available()){

delay(1);

}

//Serial.println("New Client."); // print a message out the serial port

inString = client.readStringUntil('\n');

client.flush();

//}

if (inString.length() >= 3){

// if the current line is blank, you got two newline characters in a row.

// that's the end of the client HTTP request, so send a response:

// HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK)

// and a content-type so the client knows what's coming, then a blank line:

client.println("HTTP/1.1 200 OK");

client.println("Content-type:text/html");

client.println();

// the content of the HTTP response follows the header:

client.print(outMsg); // sends current values (mA) and over current events

// The HTTP response ends with another blank line:

client.println();

// close the connection:

//client.stop();

//Serial.println("Client Disconnected.");

//Serial.println("");

//Serial.println(inString);

string();

}

inString = "";

}

void string(){

int x = inString.indexOf(" HTTP/1.1");

int s = inString.indexOf("=") + 1;

outString = inString.substring(s,x);

Serial.println("");

//Serial.println(outString);

if(Serial.available() == true && outString.length() >= 1);{

Serial.println(outString);

//Serial.print("outString = ");Serial.println(outString);

}

}

void get_inMsg(){

//Serial.println(C);

if(Serial.available());{

inMsg = Serial.readStringUntil('\n');

String inChar;

String temp ="";

int count = 0;

unsigned long z = inMsg.length();

if (z >= 3){

for (int i = 0; i<=z; i++){

inChar = inMsg.substring(i,i+1);

temp += inChar;

}

outMsg = temp;

//Serial.print("outMsg = ");

Serial.println(outMsg);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值