ProjectY,2.0.362版本,重新定义“小熊派护花使者” 原创 精华

发布于 2022-7-24 15:50
浏览
2收藏

我们上一篇文章:https://ost.51cto.com/posts/14778
我们的Github:点我
我们的Gitee:点我
发行版页面:点我

2022年7月24号,历经了两天两夜的开发,我们成功的解决了NFC场景交互,至此,我们的版本号,也被推进到了2.0.362版本。

这一个版本,是我们的多次灰度测试的稳定版,并且解决了各类Bug,基本上在很多环节,已经真正的“自动化”了。

同时,我们还希望通过这一次的文章发布,来讲述一下项目使用。

首先,我们需要进入两个Java里面,填写你们的华为云账号信息和小熊派护花使者需要连接的WIFI

com.haohanyh.hamos.huawei.Huawei

protected final String JsonDomainName = "";
protected final String JsonName = "";
protected final String JsonPassword = "";

com.haohanyh.hamos.projecty.MainActivity

private String WPA_address = "";
private String WPA_pwd = "";

其余的,就交给自动化函数吧。毕竟没有什么,是自动化函数联动做不到的,如果有那就得再写一份哈哈哈。

对于APP使用,其实也很简单:++我们先进入一个页面,因为需要走自动化代码,然后进入NFC页面,写入数据。写入成功后我们就可以跳转到主页面,获取华为云账号了。++

以上就是我们2.0.362版本的使用和更新介绍,接下来就讲讲华为云API和NFC联动,我们是怎么做到全自动化的?

com.haohanyh.hamos.huawei.Huawei

第一步,public String CreateJsonToKnowtokenneedpost(),弄好账号JSON数据交给下一步POST提交。
第二步,public void Knowtokenneedpost(),获取X-Auth-Token。
第三步,public String CreateJsonToKnowDomainidneedpose(String json),获取该华为账号在北京4区的Domain_id,这个很重要,因为我们需要创建产品硬件等东西在里面。
第四步,public String CreateStringToCreateProductinIoTDAneedpost(),弄好护花使者产品的JSON数据,里面包含了护花使者需要提交的传感器数据和命令。
第五步,public void CreateProductinIoTDAneedpost(),创建产品。
第六步,public String CreateStringToCreateDeviceIoTDAneedpost(),弄好护花使者硬件的JSON数据,里面包含了传感器数据、命令的上报值,⚠我这里没有设置期望值。
第七步,public void CreateDeviceIoTDAneedpost(),创建IoTDA设备。
第八步,public void CreateStringToSearchDeviceIoTDAneedget(String content),因为上面两个创建函数,可能后期会报400错误但已经在华为云IoTDA里面了,所以我们进行比较,如果有那么就第九步(其实这一步100%可以的,只是我觉得需要安全点,写了这个判断)
第八步的里面,还有一个函数,public boolean HaohanyhOranMeCDNDecideData(String Url, String S_data_device_id, String data_node_id, String data_product_id, String S_data_product_name) throws JSONException,这个里面是我们去服务器上下载JSON参数,进行逐一比较。
第九步,public void ResetSecretneedpost(),重置一下密钥。

至此这几步,我们就得到了产品名称、设备ID、设备密钥,再结合运行前写入代码的Wi-Fi地址、Wi-Fi密钥,我们写入护花使者NFC里。

com.haohanyh.hamos.projecty.MainActivity

private void Data() {
    ...
    ToBearPiJSON = "{\"product\": \""+ Product_name +"\",\"device_id\": \""+Device_info+"\",\"secret\": \""+ Device_secret +"\",\"ssid\": \""+ WPA_address +"\",\"pwd\": \""+ WPA_pwd +"\"}";
}

com.haohanyh.hamos.projecty.NFCActivity

(过滤词使用$$$)
protected void onCreate(@Nullable Bundle savedInstanceState) {
    ...
    NfcData.post(new Runnable() {@Override public void run() { NfcData.setText(getToBearPiJSON());NfcData.setText($$$JSON()); }});
}

protected void onNewIntent(Intent intent) {
    ...
    String text = NfcData.getText().toString();
    boolean ret = nfcHelper.writeNFC_NDEF(intent, text);
}

虽然目前,2.0.362版本,我们NFC需要点击才能写入,但是我们在接下来的优化里,会着重处理。
一定要让这样的过程,能够无缝对接,这才是我们想要的ProjectY,这才是大家想要的ProjectY。

第一篇文章先写到这里,接下来我们还会以ProjectY做更新文章。

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2022-7-24 15:53:26修改
5
收藏 2
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐