HI ZigBee,最初我们使用的是BM70,因此我们知道这些命令和访问HEX命令结构的方法。在对BM70的一些建议之后,我们切换到RN878,(如您可能知道的是BM70,但使用不同的软件)。对于我们的应用来说,这应该是更好的选择。只有在设备失败后,我们决定使用BM70 HEX命令尝试解锁它。在编写了一些自定义代码后,我们可以切换到BM70测试模式,这是用一个实心LED信号显示我们进入了该模式,因此该设备响应BM70“复位到测试模式”序列。我们无意在生产中使用这种模式。这是一个最后的尝试,试图把发展委员会从我们所看到的一个没有起源的失败中恢复过来。所有的帽子都是正确的,所有其他SMD设备都是根据数据表。我们只做了一个改动,就是从复位电路中去掉1UF盖,它在PIC的常规重置中引起了我们原来的NO %ReBOOT %的问题。事实上,这个项目需要的是单元“通电”并进入透明的UART模式。之后,由应用程序发送的命令。将被PIC解释为RN1478只在每个方向上传递短数据串。我们知道BLE的20字节限制,但这对于我们的特定应用来说是绰绰有余的。它甚至不是一个高数据传输应用程序,它对于我们正在开发的一些相当简单的定制硬件来说更是一个简单的控制系统。我们意识到我们需要使用CMD和GT命令加载我们的UUID和特性。我们已经说服了我们的客户,这可以在最终板上的第一个“接通电源”上实现,因此在生产中,软件将设置一个内部EEPROM标志来向程序发出信号,说明安装已经完成。这意味着我们不会继续在EENPRM存储器中对RN878(或PIC)进行连续写入,因此我们保留EEPROM写周期。在故障点,我们不工作任何与RN1471相关的代码。一天晚上,我们带着所有的东西离开了工作,第二天早上就来了,RN48 71无法工作。我们确信我们没有造成任何锁定。这个设备固有的缺乏可靠性导致我们切换到不同的解决方案。我们的客户只是不准备重新闪光这些设备故障后,即使这确实使设备恢复生命。客户的回报率太高,无论是价格还是声誉。感谢您的贡献,我们相信这会消除我们可能造成的任何误解。
以上来自于百度翻译
以下为原文
Hi Zigbee,
Originally we were using a BM70, hence our knowledge of those commands and the way to access the hex command structure.
After taking some advice regarding BM70's we switched to the RN4871, (which as you probably know is a BM70 but with different software). This was supposed to be the better option for our application.
It was only after the device failed, that we decided to try and unlock it, using the BM70 hex commands. After writing some custom code we could switch into the BM70 test mode, this worked with a solid LED signal showing that we were into that mode, so the device was responding to the BM70 "reset to test mode" sequence.
We had no intention of using this mode in production. It was a last ditch attempt to recover the development board from what we saw as a failure with no origin. All caps are correct and all other SMD devices are as per the data sheet. Only change we made was to remove the 1uF cap from the reset circuit which was causing our original issue of no %REBOOT% on a conventional reset by the PIC.
In fact all this project needs is for the unit to be "powered on" and to enter transparent UART mode. After that commands sent by an App. would be interpreted by the PIC with the RN4871 just passing short data strings in each direction. We are aware of the 20 byte limits for BLE, but this is more than enough for our particular application. It is not even a High data transfer application it's more of a simple control system for some rather simple custom hardware we are developing.
We did realise that we would need to load in our custom UUID's and characteristics using CMD> commands. We had persuaded our client that this could be achieved on the first "power on" of the final boards, so that in production, the software would set an internal eeprom flag to signal to the program that the setup had already been accomplished. This would mean that we would not be doing continual writes to any eeprom memory either in the RN4871, (or in the PIC), so we preserved eeprom write cycles.
At the point of failure we not working on any code associated with the RN4871. We left work one evening with everything operating, came in the next morning and the RN4871 would not work. We are confident that we did nothing to cause the lock-up.
The inherent perceived lack of reliability of this device has caused us to switch to a different solution. Our client is just not prepared to re-flash these devices after a failure, even if that does bring the devices back to life. The return rates from customers would be too costly, both in price and reputation.
Thanks for your contribution, we trust this clears any misunderstandings we may have caused.