通过蓝牙的基本串行通信(Cmd 语法问题?)
Basic Serial-Communication over Bluetooth (Cmd Syntax Issue?)
我在与 Avery GSM 指示器(体重秤和打印机的控制箱 w/display)通信时遇到问题。我的经验不足使我怀疑我的命令语法有问题。
我目前正在与蓝牙加密狗建立连接,创建一个 OutputStream,并尝试使用以下代码通过它发送命令:
void sendData() throws IOException {
try {
String msg = txtSend.getText().toString() + "\n"; //txtSend is an EditText element
mmOutputStream.write(msg.getBytes());
android.util.Log.e(" === ", "Sent [ "+txtSend.getText()+" ]");
} catch (NullPointerException e) {
android.util.Log.e(" === ", "EXCEPTION: Null");
e.printStackTrace();
} catch (Exception e) {
android.util.Log.e(" === ", "EXCEPTION");
e.printStackTrace();
}
}
硬件:
- 称重秤和打印机通过单独的串行端口直接连接到指示器设备。
- 指示器设备使用串口转蓝牙加密狗进行无线通信。
- 此 Android-App 将替换以前在相同硬件和设置上使用的 Windows-CE 应用程序(不可用)。
设备:
- 蓝牙加密狗: http://gridconnect.com/industrial-wireless/bluetooth-serial/serial-to-bluetooth.html
- Indicator-Device: (the 650) http://www.averyweigh-tronix.com/service-support/User-Manuals-and-Brochures/#Indicators%20%28W-T%29
- 指标技术参考(GSE 60 系列):http://www.standardscale.com/PDF/GSE60series_s_en_X60REF.pdf
- 命令:http://www.scalemasters.com/650syntax.html
编辑:
- 5 月 26 日:本文档给出了一些语法。如果这是一个完整的命令,我仍然不知道它是如何发送的。尝试了其中一个示例的变体,添加 %p 进行打印;没有什么。
<STX> <ADDRESS> <DATA> <DATA> <DATA> ... <ETX>
- 第 246 页,RS-485 网络:https://www.blackstonescale.com/media/pdf/60SeriesTechRef_Master_3.0.pdf
很明显,这是一个命令语法问题。
- 仅发送
$
将打印一些 total-sum-value 内部存储在 560 指示器设备中(标题为 "Total: ")。
- 发送
%!
打印预定义的 custom-header.
- 根据我的实验判断,语法中不需要任何 "beginning" 或 "ending" characters/bytes。萤火虫适配器必须为我做到这一点。
不幸的是,我在任何地方都找不到对这些命令的引用。 'n'
好吧。命令语法确实有问题
我在与 Avery GSM 指示器(体重秤和打印机的控制箱 w/display)通信时遇到问题。我的经验不足使我怀疑我的命令语法有问题。
我目前正在与蓝牙加密狗建立连接,创建一个 OutputStream,并尝试使用以下代码通过它发送命令:
void sendData() throws IOException {
try {
String msg = txtSend.getText().toString() + "\n"; //txtSend is an EditText element
mmOutputStream.write(msg.getBytes());
android.util.Log.e(" === ", "Sent [ "+txtSend.getText()+" ]");
} catch (NullPointerException e) {
android.util.Log.e(" === ", "EXCEPTION: Null");
e.printStackTrace();
} catch (Exception e) {
android.util.Log.e(" === ", "EXCEPTION");
e.printStackTrace();
}
}
硬件:
- 称重秤和打印机通过单独的串行端口直接连接到指示器设备。
- 指示器设备使用串口转蓝牙加密狗进行无线通信。
- 此 Android-App 将替换以前在相同硬件和设置上使用的 Windows-CE 应用程序(不可用)。
设备:
- 蓝牙加密狗: http://gridconnect.com/industrial-wireless/bluetooth-serial/serial-to-bluetooth.html
- Indicator-Device: (the 650) http://www.averyweigh-tronix.com/service-support/User-Manuals-and-Brochures/#Indicators%20%28W-T%29
- 指标技术参考(GSE 60 系列):http://www.standardscale.com/PDF/GSE60series_s_en_X60REF.pdf
- 命令:http://www.scalemasters.com/650syntax.html
编辑:
- 5 月 26 日:本文档给出了一些语法。如果这是一个完整的命令,我仍然不知道它是如何发送的。尝试了其中一个示例的变体,添加 %p 进行打印;没有什么。
<STX> <ADDRESS> <DATA> <DATA> <DATA> ... <ETX>
- 第 246 页,RS-485 网络:https://www.blackstonescale.com/media/pdf/60SeriesTechRef_Master_3.0.pdf
很明显,这是一个命令语法问题。
- 仅发送
$
将打印一些 total-sum-value 内部存储在 560 指示器设备中(标题为 "Total: ")。 - 发送
%!
打印预定义的 custom-header. - 根据我的实验判断,语法中不需要任何 "beginning" 或 "ending" characters/bytes。萤火虫适配器必须为我做到这一点。
不幸的是,我在任何地方都找不到对这些命令的引用。 'n'
好吧。命令语法确实有问题