Air724菜鸟学习日记(连载)

1 序言

Air724是上海合宙物联网出品的Cat1通讯模组,目前在商城售价为36元,价格基本上是业界最低。 同时支持AT、Luat、CSDK三种开发方式供不同层次的用户选择使用。 目前正值2G/4G系统性升级换代的关键节,Air724获得了芯片组、模块制造商、方案开发商、系统集成商、周边元件商的全情投入,注定会成为合宙继Air202以后的一代传奇产品。

作为合宙社区的一份子,我很荣幸见证这个产品从出生到成长的每一步,也希望有这个荣幸一起见证他的辉煌。 虽然我本身有一定的Luat开发基础,基于Luat技术开发Cat1模块受重视度也非常高,大量现成的DEMO代码也把学习曲线的陡峭程度降低到了我能承受的水平。但与群里众技术大佬不同,我这个人比较笨,脑子也不好,基本属于过目就忘那种,所以我必须把我学会的东西记录下来才不至于白学,也可以作为未来项目参考只用。 积跬步可至千里,希望用这个学习日记把我每天对Air724模组的学习内容记录下来,也欢迎您愿意督促我做好这个事,先谢谢您的支持!

Day 1 

今天主要是开个头,偷个懒总结下我知道的关于Air724模组的消息

1)开始之前,您需要一块趁手的学习板,可以购买合宙商城里的官方开发板,原价199元,现在正在搞促销,只需要69元拿到手。 购买链接是:
http://m.openluat.com/product/1264

  1. 合宙的Cat1的应用手册,欢迎您使用,并一起参与编纂,在Luat社区留下浓墨重彩的一笔。
    http://doc.openluat.com/wiki/6

3)我有幸拿到了第一批开发板,顺手写了一个开发板的简易说明书,附上(附件中下载)
Air724开发板简明说明书V0.3.pdf
4)有任何问题欢迎加入cat1与群友互动讨论,群号为1092305811,每天也有合宙专家不定期答疑,对于回答不及时的问题,会在
http://doc.openluat.com/asks/
隔日记录并加以回复。

5) 目前Cat1的开发模式推荐使用Luat方式,社群稀饭放姜老师还开发了一款基于Luat的实用固件,集合了绝大部分的模块常用功能,大家可以在稀饭放姜群下载,1027923658

  1. 目前我正在尝试开发一款基于Air724的怀旧电话机,每日中午直播制作过程,欢迎您在Cat1群里点击直播链接,或者在Bilibili上关注我的ID “懒懒笨笨” 收看。

    Day2

现在这个时代是个专注力稀缺的时代,有句老话叫万事开头难,其实在当今时代已经并不适合。现在应该增补几句,叫万事开头难,坚持更难。 这是菜鸟日记的第二篇。 最近合宙的社区一直在改变,能感受到上上下下的注意力都投射到了新的知识库系统上,网址我这贴一下:

http://doc.openluat.com

有事没事的您就来逛逛,没准就挖到宝贝了。别说我没提前说,另外如果有问题群里解答不及时,您也可以来逛逛,这里现在有专人负责值班解答。

今天QQ群里看点很多,各位大佬都拿出了自己看家的本领尽了全力要把Air724妥妥的用起来,Cat1+以太网 Cat1+MT7688 Cat1网络继电器
,品类繁多应有尽有,真令人大开眼界。 估计过不了一两个月,各类的cat1产品就会涌向市场共同推动系列合宙cat1产品走向辉煌。 当然文末最后,还是附上一些常见问题的解答如下:

(这些回答只代表我个人的观点,并不是官方回答,如有疏漏请您一定理解,想得到更精确的解答,请联系合宙商务人员寻求合宙专家支持)

1 Ukk(2739115166):cat1 开发板 怎么上电自动 开机 ?

令人很郁闷的一件事就是很多小伙伴拿到开发板竟然无法开机,其实这个事很简单。 Air724开发板有两种开机方式,一种通过按压开机按键3秒钟,就可以,但是我一般怕手疼,会把开关旁边的两个半圆形的PAD短接,这样只要开发板一上电,就自动开机了。 您要想和PC通讯烧写程序还需要自己从官网下载驱动程序(注意:是8910的驱动,不是cat4的那种),还需要Luatools V2,这个软件只能在64位环境下运行,如果您用的还是32位系统,恭喜,您要升级了。

2 阑衫(82367520) 有没有人在lua下检测过按键?带长按短按功能的?

这个问题陈旭大佬给出了参考代码,大概原理是通过对按键按下的事件进行计时。有很多人担心luat的实时性不能满足检测要求,其实这种担心是不必要的,几十毫秒的响应随便并不精确,但是用来做长短按键的分辨还是绰绰有余的,这里我也附上我自己写的代码供大家参考,这是我用在复古电话上用来检测拨号盘的。通过这段代码可以精确的检测出GPIO9高电平和低电平持续的时间(用tick计数),当然用来检测长短按键不是问题:

--- 模块功能:播放拨号音功能
-- @author miuser
-- @module elderphone.dialdetect
-- @license MIT
-- @copyright miuser
-- @release 2020-05-15

require"pins"
require"common"
module(...,package.seeall)

--拨号号码
local dialNum=""
--开始拨号检测
isDetecting=0
--脉冲计数
local paulseCount=-1

--中断方式下,上一次跳变到高电平的tick计数,高电平脉冲的持续时间interval
local highTick,highInterval=0,0
--中断方式下,上一次跳变到低电平的tick计数,低电平脉冲的持续时间interval
local lowTick,lowInterval=0,0

--轮询方式下高电平初始计时,保持高电平的时间
local highTick_DC,highInterval_DC=0,0
--轮询方式下低电平初始计时,保持低电平的时间
local lowTick_DC,lowInterval_DC=0,0

function gpio9IntFnc(msg)
    if isDetecting==1 then 
        --log.info("testGpioSingle.gpio15IntFnc",msg,getGpio9Fnc())
        if msg==cpu.INT_GPIO_POSEDGE then
            --上升沿中断
            --计算下降沿脉宽
            lowInterval=rtos.tick()-lowTick
            highTick=rtos.tick()
            --log.info("elderphone.dialdetect","lowInterval is "..lowInterval)
        else
            --下降沿中断
            highInterval=rtos.tick()-highTick
            lowTick=rtos.tick()
            --log.info("elderphone.dialdetect","highInterval is "..highInterval)
            if highInterval>10 and highInterval<30 then
                paulseCount=paulseCount+1
            end
        end
    end
end

 --GPIO9配置为中断,可通过getGpio9Fnc()获取输入电平,产生中断时,自动执行gpio9IntFnc函数
getGpio9Fnc = pins.setup(9,gpio9IntFnc)


local function dialout()
    sys.publish("DIALOUT",dialNum)
    sys.publish("UARTOUT","正在拨号:"..dialNum)
    dialNum=""
end

sys.taskInit(function()
    while true do
        --log.info("elderphone.dialdetect","highInterval_DC is"..highInterval_DC)
        --当前拨号线为低电平
        if getGpio9Fnc()==0 then
            highTick_DC=0
            highInterval_DC=0
            if (lowTick_DC==0) then lowTick_DC=rtos.tick() end
            lowInterval_DC=rtos.tick()-lowTick_DC
        else
        --当前拨号线为高电平
            lowTick_DC=0
            lowInterval_DC=0
            if (highTick_DC==0) then highTick_DC=rtos.tick() end
            highInterval_DC=rtos.tick()-highTick_DC
        end

        --低电平持续0.2S,则判断未开始拨号
        if lowInterval_DC>40 and isDetecting==0 then
            paulseCount=0
            log.info("elderphone.dialdetect","preparing dialing")
            sys.publish("PLATE_MOVING")
            sys.publish("UARTOUT","拨号盘转动")
            isDetecting=1

        end
        --持续高电平>0.3S,且有脉冲计数,则输出脉冲计数
        if highInterval_DC>60 and paulseCount~=-1 then
            sys.publish("PLATE_STOP")
            sys.publish("UARTOUT","拨号盘停止")
            sys.publish("DIALING",paulseCount)
            if (paulseCount==0) then
                --拨出号码
                dialout()
            else
                log.info("elderphone.dialdetect","dialing# "..(paulseCount%10))
                sys.publish("UARTOUT","拨号"..(paulseCount%10))
                dialNum=dialNum..(paulseCount%10)
                log.info("elderphone.dialdetect","dialNum:",dialNum)
                --sys.publish("UARTOUT","当前号码:"..dialNum)
                --满足11位自动播出
                if (#dialNum==11) then dialout() end
            end
            paulseCount=-1
            isDetecting=0
        end
        sys.wait(20)
    end
end
)

local function clrcallingnum()
    dialNum=""
end
sys.subscribe("ON_HOOK", clrcallingnum)

3 灵璧石(691773427): 我好像发现一个问题 724模块开机启动后 发送的第一条 AT指令是不响应的。

Wendal大佬回答了这个问题,AT开始第一条要发的应该是AT\r,因为AT固件是串口速率自适应,通过发送AT指令可以进行波特率适应操作,这个道理我懂,但是大佬不还真注意不到

4 弎(703771179):Windows 提示 Luatools V2 阻止 无法识别的应用启动

因为合宙的LuatoolsV2用的是Python开发的,不是微软阵营的,所以被黑了,放心大胆运行,千万万合宙粉丝用起来的软件,保证没病毒的。

5 常方賢(1217727653) 指令 AT+CTTS, 请问开发板上声音从哪里出来?耳机没听到声音

几乎每天都有人问这个问题,其实很简答,模块的默认输出不是耳机,而是SPK+ 和SPK- ,如果需要用耳机出声音,请用AT+AUDCH切换, AT文档里有详细的用法,官网就有下载

Day3

今天是周末,整体来说,没有太多的新闻,除了我真的翻车了。
替代文字
作为一个猫粉,我自己也做了一款核心板,用来配合底板实现复古电话,昨天嘉立创的板子到了,各种不理想。 首先说天线在SolderPaste负片层做了处理,但是天线还是给附上了焊锡。 另外电路的设计也非常的扣,为了省钱用的双面布线显得捉襟见肘,机械长孔和走线的间距也就是0.1mm的水平,看着就揪心。 当开始焊接时就更傻眼了,左侧的连接器竟然画反了,这也就意味着和底板位置的配合全错了。 另外受疫情影响,快递的速度也满了许多,嘉立创从下单到收货,现在起码要5天时间。因此说如果这个板子重做,算上重新布线(因为布局都错了,原来的布线也就都废了)起码要一个星期。 原件也还没到齐,其他问题有没有也都不清楚,这可以说是一次相当彻底的失败! 3.jpg
最近的直播人气也一落千丈,不及原来的1/5,只有200来人…郁闷到了极点! 但是工作还是要做,今天群里还是看到不少问题,但是都比较基本,诸如不会烧程序,程序有错误,报错不会用USBBoot烧写等等。 新的问题不多,我摘录几个

1 JasonBUG(463316948) Air724的AT指令端口默认是UART1还是UART2呢?

从2G时代到4G Cat4, AT固件的默认端口是不同的,对于cat1 默认端口应该是串口1,Wendal是这么回答的,我记得也是这样,但是网友说无法通讯,这一般都是由于TX RX接反或者电平转换没有做好造成的。 对于串口上位机、下位机TX RX应该反接,电平所有4G的都是1.8V,接3.3V的单片机就需要电平转换,不然不行的。 另外关于调试方法,一般来说,我建议先用电脑串口连接调试下,别上来就用单片机,到时都不知道是哪出的问题。至于是串口1串口2,自己动手试一下并不麻烦。
另外USB口还会映射出一个软AT串口也可以执行AT指令,有兴趣也可以试试,但稳定性似乎不如硬件的,有时会挂掉。

2 春(331125363) 模块的IO口配置为输出模式时 不能获取IO的电平的状态吗?

很多人问过这个问题,拿IO口当变量用肯定不行的。 你输出高电平低电平是程序控制的,不能去读,而应该自己用变量保存。因为你读端口,端口就变成输入检测了,刚才设置的输出状态就失效了,读进来的是外部引脚的当前输入电平,这个电平是由模块外部引脚连接的电路决定的,而不是你刚刚送出去的输出状态。

3 山水道境(912439332) Air724 模块,每次下载 脚本后,内部通过代码写入的文件数据就都没有了

所以的2G 4G 模块重新烧脚本,烧写进去的文件肯定都会清掉,但是远程OTA升级不会覆盖,如果想烧写也不丢失,通常记录在SN里面,这个变量是给用户留的,不是模块上面的SN,长度一般是64字节,存点简短的信息也够了。 合宙工程师说,后续SD卡也会支持,那就方便了,就是不知道啥时候出来。

4 Crolin?♏????(424690101) 我想把模块这个设置为静态ip

模块不是万能的,地址是运营商分配的,这个模块决定不了

望柳村(16239511) 我用的ad,pads打不开。下载下来打开都是空白的呢?

AD图纸其实并不难,用pads可以导出,群共享里也能下载到方便AD导入的TXT和ASC文件,为了防止大家找不到,贴上我私藏的AD图纸供您参考
http://file.miuser.net/index.php?dir=/Luat/Air724/%E5%BC%80%E5%8F%91%E6%9D%BF%E8%B5%84%E6%96%99

5 我三块724 一块正常使用两块闲置的 今天就把那两块闲置的搞死了。。

很多人会说自己的Air724变砖了,这种情况在早期固件V0005的时候的确发生过,但后来的固件就没有这个问题了,如果软件刷坏了,默认模块会自动进入到USB_BOOT模式。 多试几次肯定能刷进去。 对于自己设计的板子有时也会遇到刷不进去,固件的问题就多了,先查电源是不是稳定,万用表是不行的,必须上示波器,也可以先用外接电源供电试试。 然后就是RST 和UBoot是不是电平正常。 但是有一点肯定,Air724基本上非常难变砖,也没听说过谁的模块变砖了刷不回来了。

Day4

今天是周一,新的一周新的开始。

整体来说,今天过得没啥新意,除了看到一个奇葩的情况,就是有人拿着移远的模块到合宙的群里来问问题…这个不是第一次了,估计也不会是最后一次,移远的销量很大大,技术人员不太可能不论大小服务周到每一个客户,所以有问题没人来得及解答这也很正常。问题是合宙的技术人员也很紧张呀,移远自己家的产品都看不过来,合宙生态的工程师来帮忙解答的可能性也不是很大,这说的过去吧…

话说Cat1现在十分火爆,合宙的技术小哥估计也都掉了不少头发,所以在群里吹水的时间少了。 那么获取合宙技术支持争取的姿势是啥呢?

1) 您已经有一定的采购量了,那么太好了,您直接找您的销售代表,就可以有FAE支持了。 不要老是在淘宝买,不然就成了没人管的散客了。 量大了还是要找专业的原厂销售,群管理员里就有好几位销售。

2)工单系统刚刚上线,虽然回答速度现在还不算太快,但基本是有问必答的
http://gongdan.openluat.com/

3)求人不如求己,自己多上网找资源,推荐:

doc.openluat.com

wiki.openluat.com

如果2G和4G cat4的模块相关问题也可以去

ask.openluat.com

找答案,里面有非常多的高质量文章,可惜这个系统快要被新的doc系统代替了,可惜可惜…我个人是非常喜欢原来的系统的,速度快,用的爽。

下面是今天的问答

1 GPU(130001295) 问一下,我几个微信号买的咱们的物联网卡。可以给合并到一个号吗

可以,找销售就行

2 聆听这睡着的夜(693277161) 请问合宙工程师,我开了一个UDP,没有传输数据,过一会会自己传输一个空的数据给服务器,这是心跳功能吗,我代码上也没有看到这个功能啊,怎么去掉这个传输?

说实话,这种问题很难回答,因为你既不提供源码,又没有log,让合宙的工程师来猜,这属于盲考,能答出来的都是神仙。后面的回答陈旭大佬非常有耐心的加以引导,希望他提供线索,但是他还是不愿意公布源码,这种支持就几乎不可能了。 一般涉及商业机密不要在群里问了,还是去找销售联系FAE比较好。

3 Mr.Perfect(840244281) 742UG怎么连接的? 哪个大神教下是通过usb连接的吗?

对的,4g模块都是USB烧写,串口用作一般通讯,但不能烧写代码。 2G的模块是用专用串口HOST,不过既然cat1都来了,就别玩2G了,快淘汰的东西了,玩着没啥意思了。

4 吃煎饼的果子(284462611) 请教下 AIR202E 这个带虚拟卡的模块. 是否可以使用实体卡.是不是插上实体卡,优先使用实体卡?有知道的吗

这个问题很多人都在问,不同的情况下还真得区别对待 Air202SE,就是实体卡优先,Air202Se,注意是小写的e只要有内置卡了,压根不支持外置sim卡,一定要注意。 我看很多网友都答错了…

5 724ug sim0没有卡 没有自动切换到sim1 是什么原因?

很抱歉,模块不是电话,没有sim卡自动切换功能。自己用AT指令设置一下吧。 AT手册里搜索SIM即可,如果是lua编程,透过ril指令可以间接调用at指令

6 梦!喂(1090557361) 合宙,您们好。[封装/PCB/原理图] EVB_Air724UG_Air7232UG_A11_设计文件_20200319(PADS9.5格式).zip
我用的是AD,我想问一下咱们有pads9.5转换为.ASC的文件吗

这个cat1群文件里就有呀,自己好歹看看再问

7 星子✨(2551165612) 请问一下724如何将摄像头实时录像上传到服务端呢?

有些客户需求是不切合实际的,比如这个,air724才那么点内存,要实时录像还要上传服务器,这就超出了cat1模块的能力范围了,建议用rndis接口连接一个openwrt的板子,这种设计叫CPE,一般来说,需要录像的没个操作系统都不行的,您见谅吧。

8 恋一抹暖阳(150360376) 723+530,怎么开通AGPS模式呢?

AGPS是合宙云服务的一部分,用自己的搭配当然可以,在demo目录里有这个agps的demo

LuatoolsV2\resource\8910_script\script_LuaTask_V2.3.2\demo\gps\v1

9 (^__^) (838368932) 全局变量要怎么定义?

合宙的luat用的版本是比较早期的lua版本,一般我都是在main里面使用_G. 前缀修饰变量,然后在模块里就可以直接用了,但是一般不建议这么来,用luat的消息机制传递数据更好些,这样模块之间的耦合度比较低

今天的答疑就到这里,我发现很多小伙伴们都有点耐不住性子,容易焦虑。 学习技术不容易,我是学了两年还在学,希望您也和我一样有点耐心吧,谢谢:)

Day5 

今天是周二,我长了阻生齿,牙很疼。

今天在群里看到各商家的Air724产品陆陆续续的都出来了,飞思创、全球鹰电子的设计都非常的不错,定位于DTU 核心板,布局合理,设计精美,飞思创更打出了核心板 39.9元不限量包邮销售的惊人价格。 想想看,一片模块按大批量优惠价格也得40块钱,这个核心板PCB+BOM成本毛算也得三块钱,还要打板,测试、考虑到正常的耗损和次品率,起码要卖到50块钱才可能不赔钱,这40块钱只有两种可能 1)从特殊渠道拿到了更廉价的模块 2)飞思创为了做渠道赔钱卖,无论是那种,作为”合宙核心生态企业”飞思创的实力看来也都是响当当的。 全球鹰电子卖的就比较务实一些,75块钱一片, 实话实话这个价格才是合理价格,有正常的商业利润。

今天群里还有个大消息,移动下发红头文件,2020年底停止新增2G物联网用户。 怎么停呢? 无非就是两种方法 1)不卖卡 2)不卖模块。 对于模块,生产商好多家,移动也没有强制约束力,所以还是不卖卡的可能性比较大。 我们的SIM卡在联网的时候都要识别 IMSI、ICCID 移动基站可以很容易根据这个信息判断SIM卡的出厂日期,看这意思,以后2020年后移动的卡大概率就不能连接2G基站了。 当然,2G的服务是不会停的,移动前一段时间卖了好些个10年的流量卡,要是停了服务那还不炸窝。 所以,这么看来如果您打算坚守2G阵地,有必要屯一点2G卡。

稀饭老师今天也放出了大消息,dtu.openluat.com允许用户自己添加自己erp账户下的设备了,所以您以后大玩irtu固件而不用去烦劳稀饭老师了,太赞了。

下面是今天的问答

1 山水道境(912439332) ari724 使用阿里云ota升级,能够下载升级固件,也重启了,但是重启后 还是之前的固件,固件没有更新? 怎么查找问题?

这个问题群里的中卡的朋友已经回答了,cat1工具打包出来的不是完整的包,之前自建升级服务器的时候发现了。 这个问题虽然我还没有研究到,但是天天泡在合宙的圈子里也知道一二了。 正确的姿势是用合宙提供的差分包工具来制作升级文件

http://doc.openluat.com/chafen

阿里云大使还写了教程,真是太方便了

http://doc.openluat.com/wiki/6?wiki_page_id=92

2 春(331125363) 模组的串口的波特率 开机初始化了过后 能在程序运行的时候修改重新初始化吗??

串口可以关闭重新初始化,特别是还可以变身IO口,有空您可以试试,在LuatoolsV2的目录里有这个demo,路径是

\LuatoolsV2\resource\8910_script\script_LuaTask_V2.3.2\demo\gpio\uartGpioSwitch

3 LUA菜鸟驿站(287664725) 请问720SH可以批量货了吗?

这个事儿,秦总亲自答复的“问下销售,我印象中应该批量有货了” 好吧,看来公司大了信息沟通也是个大问题,秦总竟然自己给出了一个相对模糊的解答。秦总一定是知道公司的大方向和大体的节奏的,对吧。因为他制定的公司战略呀,但是具体执行看来还是基层的销售员小哥最熟悉。 所以即使是大佬在很多场景也是有局限性的。 另外说一下720SH是个啥。 首先说最早的一批720模块,分三个版本 720H、720G、720D,其中H是全网通,G、D是两种缩水板,频段被砍了一些,价格比H低10块钱。 但是第一代的4G模块有一些问题,突出的有 1、高速情况下发热大 2、信号在某些场景有些小bug。这两个应该说都是很关键的模块参数,所以根据这个情况,合宙相应的推出了720SH、720SG、有没有720SD我不清楚。 采用新一代的1802S芯片组,因为用的是翱捷科技新一代改良芯片组、发热更小、信号更优、所以您再买模块尽量用新的吧。软硬件全兼容,100%替换无压力。

4 LUA是C的脚本语言吗?(956898134) 想自己搭建一个服务器

骑士智能科技的张总提示了一下,用onenet 他家的MQTT不要钱,好像是真的不要钱…

5 启示录(494708631) 额 请问pio.pin.setpull(pio.PULLUP, relays[i].pin) 我一调用这句话 724就重启了 是什么原因?pin肯定是对的

每次一看这种问题,我就想抽自己! pin肯定是对的,太自信了吧。 这种情况下我知道的唯一可能就是pin设的不对。 你直接改成一个io口试试不就得了,io口直接用数字就能表示了pio.pin.setpull(pio.PULLUP,1)你试试行不行,重启我真抽我自己。

6 易思(1216251089) 群里有大神可以提供724的板载PCB天线或者设计参考吗?

Wendal回答了,这事儿应该找天线厂。 说实话自己设计天线不容易,我现在就在捣鼓。我绝对不会告诉你,我第一份工作就是在摩托罗拉亚洲技术支持中心做RF工程师… 但是天线设计需要两部分知识 1)理论知识 2)昂贵的仪器。 我虽然有一点三脚猫的天线设计经验,但是我手头没有仪器也是头大得要命,只能通过RSSI、SNR一类的侧面指标配合外面的成品天线一点点的摸索。 当然如果能借到网络分析仪就好了,但这是可遇而不可求的。 要有那玩意儿,直接捅进去测一下S11,就成了。怀念在大厂的美好生活啊。

7 029(29299920) 724不支持 CIPRXGET 吗

拜托这位昵称029的老兄,可不可以把问题问全一点,分享点知识背景。 你问CIPRXGET支不支持,这么简洁的问题只有真的懂的专家能答的上来,像我这样的菜鸟就算想帮你问都没头绪…不知道你问的是啥呀。

8 笑(275860853) https://oldask.openluat.com/article/1058这个文章只写到723,没有724

723和724是一母双生、功能引脚都一样,723是把724周围的一圈邮票孔剪掉了而已,酱紫回答你懂了吧

9 TonyZhang(908441519) 我用的是Air720UH模块,能否通过AT命令切换4G和2G网络????

好像是通过AT指令可以配置连接方式,你看看AT手册吧,我不太熟。

牙好疼,今天答疑就这么多了。 闲着没事也欢迎中午听我在群里八卦。 b站搜索懒懒笨笨关注我
Day6
今天是周三,天津闷热。

昨天的中国移动要停2G业务的红头文件激起千层浪,群里今天也是聊而不止。甚至很多人已经开始准备囤卡了,问题是这东西静默期最长只有3个月,屯了卡又没快速卖出去就惨了。 今天群里关于显示屏的问题比较多,我这里八卦一下吧。 其实从2G时代 合宙的Luat系列模块就支持各种屏幕,这种支持延续到了cat1模组上,I2C的支持 SSD1306, SPI的支持的更多,我试过的有 st7735、 st7789,ili9341 其余2G模块支持的还有gc9106,hx8347,但是我手头没有这两款驱动芯片的屏幕没试过,理论当都应该支持。 为了提高显示速度、SPI显示屏的驱动是在模块底层,上层留了luat编程接口,demo的路径在:LuatoolsV2\resource\8910_script\script_LuaTask_V2.3.2\demo\ui,里面的驱动还不太全,不过最常用的两款已经收录是st7735、gc9106,前者在合宙商城商城有售,您用着最方便。如果需要驱动其他的屏幕,您就得自己做一下适配了。可以翻翻以前的air202的UI demo,如果不是以上的芯片组驱动,这个就比较困难了,不过如果您是底层大佬,完全可以用CSDK开发,合宙也开放出来了,这超出了我认知的范围,我就不多啰嗦了。

下面是今天的问答

1 Kshine_Helloworld(2990267687) sim卡 购买的话,有没有什么特殊的要求

目前模块支持的卡大体上可以分成两种,物联网卡和实名卡,前者不记名,属于匿名充值卡,后者您就得用身份证办了。二者的服务等级不同,技术实现上接入APN不同,具体的APN请自行百度,很容易查到。 搞实验推荐去合宙商城,1块钱能玩一年,每月100M流量,真的很实惠。

2 MK60FN1MVLQ12(526044878) 请问air720sh的SPI可以用吗? 还有air720uh的SPI能用吗?

理论上能用吧,你就当能用,不能用马上投诉。 毕竟SPI总线是模块的基本功能,一定会妥善支持。 话说SPI air202,air720上我都试验过了 挺OK的,air720s系列和air720u系列手头没有样品所以没试过,对不起。

3 影人(1026047314) cat1可以同时连接几个mQTT

可以,合宙模块支持同步多路连接

4 千手观阴(22366220) lora与2G的小辣椒天线通用吗?有无线电玄学大师解答一下吗

肯定不行,天线都是分频段的,虽然乱插不一定完全不工作,但是信号质量肯定好不了。 频段对不上,增益会很差,甚至不如插铁丝在天线孔上。

5 gentleman(837845326) 带at指令的air202或者air720等是不是默认串口带流控的?还是需要at指令设置才行?

流控制支持,但默认好像不是打开的,得自己配置下,具体看一下AT手册,我记得是酱紫。

6 Lyndsay(3004508485) 我想问一下,有没有带485口的板子

有呀,稀饭老师的DTU就支持485,还是开源的,你打着灯笼找去,这种好事只在合宙生态有

7 加油!好男儿(1782251558) 请问,基站定位输出的坐标是火星坐标系的坐标还是WGS84坐标系的坐标?

说真的GPS我一直研究的不多,但是我知道合宙的模块是WGS-84坐标,但是怎么纠偏,怎么和地图对上,一直没搞过。

8 艺镜科技-王-方案商(450718196) 这个滤波不过滤高频会有什么问题密码

客人贴了图,是电源部分的退耦电容,由100uf、100nf、33pf、10pf 四个电容并联。 这不能去掉,因为我们用的电容,都不是理想电容,工作频率不同,用单一容量的电容无法滤除所有杂波,具体的您可以查一下电容的工作频率范围和内阻,这种原件手册上都有写。

9 梦!喂(1090557361) 现在测试1500ms 关机有时正常,有时关机后又开机了

我个人的感觉模块的软关机不能做到100%可靠,就像PC也是一样,如果确实需要关机,外挂单片机吧。

10 青岛研客电子(917741038) cat.1 上有摄像头 的接口, 问一下,有解析二维码的程序示例吗?

有呀,demo就能解析,我刷过

11 wangzh(286618766) 724UG能识别U盘吗??

你想多了,USB只支持从模式,不支持主模式

12 xiaxin(929162903) 有大神知道724ug这个模组里面1ms对应多少个tick吗

求人不如求己,你自己试试吧,我记得大概就是一两个tick,这个很容易试出来,统计一秒钟内跑了多少tick就可以了

13 阳光养猪厂(1184015843) 哦,那530的位置数据,怎么查才会准啊。高德地图咋样

大佬们的解答挺丰富,谷歌用的WGS84,百度用的BD09,国内GPS定位器不少用的是GCJ-02火星坐标系。 用之前还得自己转换,好麻烦。

14 笑(275860853) 哪位大神带我下,724开发板有二卡单待,如果我插了2张卡,lua怎么获取当前可用的sim卡和对应的手机号码?

没法获得手机号,只能读取imsi iccid。 手机号是运营商做的关联,卡里面一般不写。

今天有朋友看了我中午的直播广告,建议我转型娱乐直播带货,朋友们关心我荷包的这份好意,我真的很感激,问题是我自己啥都没做出来,没有货可卖。 更重要的,你看昨天的日记,很多大佬都是砸价赔本卖cat1的东西引流,我这一个馒头掰两半吃的主,哪有钱补贴客人… 所以直播带货现阶段基本上没法实现。 现在是能做点啥就做点啥,直播算是敦促自己做项目,能通过直播激励自己把老电话项目坚持下来也不错了,不奢求其他了。
Day7
今天是周四,全国北方下冰雹,河北有的地方有高尔夫球辣么大的。

今天在群里没有什么大新闻。 问题基本上还是围着那些问题打转转。 GPS、GPIO 说实话都是复读机干的活,没有兴趣回答…其实主要是我牙疼的厉害。 考虑了一下,为了凑字数,还是写点吧。

GPS这个东西用起来其实就那么几个事,虽然我不懂,但是天天在群里泡着,鹦鹉学舌也学会了。

1)你必须放在室外用,不然收不到卫星信号的,卫星信号频率起步也得1.2G,信号强度-130dBm的水平,基本没啥穿透力。

2)你得做坐标转换

地球坐标系——WGS84:常见于 GPS 设备,Google 地图等国际标准的坐标体系。

火星坐标系——GCJ-02:中国国内使用的被强制加密后的坐标体系,高德坐标就属于该种坐标体系。

百度坐标系——BD-09:百度地图所使用的坐标体系,是在火星坐标系的基础上又进行了一次加密处理。

合宙得到的坐标是WGS84格式,你用百度或者高德都得转,怎么转我还不会…

  1. Air530可以配合所有合宙的4G模块 Air724当然也可以,电平转换需要做一下,因为Air724是1.8V电平, Air530是2.8V

4)你想实现秒定位,我们手机掏出来基本上几秒钟就能定位,那是靠着网络信号辅助定位的,单单GPS,冷启动定位,起码是2分钟。 所幸合宙支持这种服务,前提是你的2G模块配着4G模块一起用,调用APGS 模块基本上就可以几秒内定位了,前提是得消耗你一丢丢流量。

5)你想高精度,GPS/BD 这两个的民用定位精度基本上都是10米的水平,你说你的手机怎么能定位到米级别,这是因为手机的固件根据多种策略进行了综合优化,并不是单单靠GPS。 比如车载定位器,软件会自动吸附附近的公路、周围有Wifi信号,手机会用wifi信号辅助定位。 所以你用模块前要想清楚,不要对GPS模块有非分之想。 不然几百块的差分模块卖给谁去。
替代文字
2.png

GPIO的事,说一说。 首先由两个IO口,建议回避, GPIO6、GPIO16,不要问我为什么,研发设计就酱紫。 GPIO6,刚开始是可以做IO用的,后来的固件由于与其他的硬件冲突,被取消了IO功能,所以GPIO6不存在了,GPIO16则不能响应中断。 除了这两个IO口,目前其余IO我在V0013版本的固件上都测过了,都是可以正常使用的。啥叫正常使用? 作为输出:拉高、置低。 作为输入:弱上拉,弱下拉,上升沿下降沿中断响应、输入电平读取!

下面是今天的问答,牙好疼可不可以不写了…

  1. 我用air800 官方的M4开发板,直接跑demo v1 v2,感觉差几百米好奇怪?

要转换啊,GPS原始数据wgs84格式,高德用的gcj02

  1. 你好,请教一下,我用air801命令 AT+CGNSINF 读经纬度始终读不出来,其他信息都有,这个一般是什么原因可能?

室内木有gps信号,你需要去室外测试

  1. 请问一下 LUA 用什么来开发 文件里有开发工具吗?

Luatools V2烧写、VS code编代码,我就是酱紫做的

4)720H的固件能用724UG吗

重要的问题说三遍,不要用720H,不要用720H,不要用720H,,如果你不追求高速率用Air724,如果你追求速率用Air720SH,Air720H即将停产,发热大、容易有bug

话说今天骑士智能代理的NB-IOT模块Air302开发板正式开卖了,我也忍不住买了一块,主要是听说支持LuatOS了,这个列车不想错过。 您不也来试试?
Day8
话说我昨天的日志抛出了一个GPS主题的砖头巴拉巴拉的复读了一些老掉牙的知识,就砸出来了一个专家,还是一名谦虚的专家。这个哥们是做地理信息系统的,他讲了大地2000和wgs84坐标系的区别,海通共了wgs84转gcj02的lua代码,还分享了一个免费的,API开放的地图定位系统,真的很赞,聪明机智的你赶紧去看看吧 http://www.tianditu.gov.cn/

今天总体说问题不多,有创意的问题更不多,下面流水账答疑部分再做复读机讲给大家。 今天八卦两句cat4模块的事…好像有了cat1模块,cat4模块就被大家给忽略了。 其实合宙的Air720SL在很多场景还是很有用用武之地的。比如上网卡,比如CPE。 众所周知cat1的模块没有cat4 模块快,到底差距有多少,很多人确未必实测过。 我在家闲着没事稍微研究了一下。 从公布的数据来看 cat1的理论带宽是上行5M/下行10M,cat4理论带宽是50M/150M,当然实际达不到。实际速率不同运营商情况不同,我实测的移动上下行大概是1M/6M 联通是5M/6M, cat4 移动大概是6M/30M,联通是40M/40M ,我只会口算加减法,乘除法一般都得用计算器,大家应该比我强吧,可以除法口算下。 大概是6-8倍的样子,差别还是不小的。所以如果做上网卡,或者高速数据传输,cat4就很有优势了。 况且说,cat4模块价格也没高到不能接受的程度。 另外大家如果用cat4模块尽量选Air720S系列的,我推荐用Air720SL,全行业体积最小4G模块,我的最爱。 最后广告一下cat4的群号是:387396364,这是二群,所以目前人比较少,因为1群刚满了。 不过以合宙生态的发展速度,很快这群就不会冷清了。

下面是今天的问答,

1 为啥724ug串口通讯的 数据老是有错码?

这个情况,我遇到过,但是只是偶然的,突发的,具体的复现环境和原因我也不太清楚,串口传输看来还是弄个数据包校验比较好,不然可靠性存疑。 哥们问的情况其实不是乱码是压根没收到正确的码,那就查查电平和波特率吧,其余的我也不懂了。 Air724的三个串口我都试过,是可以用的。

2 请问下,724开发板,通电后,电源灯会闪下,然后按开机按钮,也会闪下,但不会常亮。是板坏了吗

你多摁一会不就开了,要么就换跟好点的USB线。 这种问题,属于5元包邮问题…不懂是什么梗? 多泡泡群就知道了

3 奇怪问题8.4v 电池供电过dc 3.3就启动不了

这是啥电池,2A峰值电流都提供不了?

4 请问一下:Air720SD的资料网站上没有呢?和Air720D是pin to pin的吗?

是的,加个S功能和价格都不变,开机更快,速度更稳,发热更低。

5 air202的这个复位 不用是不是可悬空?

官网有图纸,下载来读读吧,不过是PADS格式的,想要AD格式的找合宙销售代表要吧

6 air724第一次下载后,还是可以正常显示的,第2次,只是改了下显示的文字,就不能下载了,重启后,就这样了

刷成熟刷不成功,只要看到U2S Diag,就是没刷成功,再刷的时候点上USB_BOOT复选框就行了

7 USIM_VDD脚电压 0v了

因为SIM卡没识别出来,首先考虑的是TVS管频率不够,然后就是走线不合规。 SIM卡通讯频率比较高,听说是Mhz级别的,所以对走线和线上元件的频率特性比较敏感。

8 protoBuffer是啥?

我理解的就是二进制版的Json,够清楚了吧

今天就这么多了,我去缅怀一下离开我的大牙了,诸位拜。

上次更新 2021-01-28