• [问题求助] ccgateway的phonebusy事件和waitnumbyagent接口咨询
    【问题来源】 浙江110【问题简要】 1.话机如果网络不稳定,ccgateway接口会收到phonebusy事件而自动置忙,想咨询下平台判断话机不可调用的超时时间多少2.ccgateway获取当前技能组的排队人数接口waitnumbyagent,是否涉及数据库查询,在大并发情况(比如每秒200个请求)是否会导致平台不稳定及异常【问题类别】 CTI平台提供的cc-gateway接口【AICC解决方案版本】 AICC 22.200 ,浙江110版本4月9日整体升级过
  • [技术干货] SSL证书的使用及nginx配置
    1:前情提要小程序下的应用必须用https,首页先感谢供ssl证书的华为云。2:找到网站申请地址,然后一顿操作首先你要有一个华为云账号。没有的需要申请一下。1.登录管理控制台。cid:link_0console/?region=cn-north-1#/home2.单击页面左上方的,选择“安全与合规 > 云证书管理服务”,进入云证书管理界面。3.在左侧导航栏选择“SSL证书管理”,进入SSL证书管理页面。4.在证书列表左上角,单击“创建测试证书”,进入创建测试证书对话框界面。“创建测试证书”按钮处显示的数字表示测试证书剩余可创建数量和可累计创建总数量。例如数字显示为“13/20”,表示剩余可创建13张测试证书,可累计创建20张测试证书。5.阅读并勾选“我已阅读并同意《云证书管理服务(CCM)免责声明》”,单击“确认”。6.您在SSL书列表中可查看到创建成功的免费测试证书。7.在证书列表中已创建的免费证书所在行的“操作”列,单击“申请证书”。弹出申请证书界面8.填写完成后单击下一步,让你填写一些个人信息,然后填写下,提交申请9.提交申请后去验证DNS。10:因为域名不是在华为上购买的,需要登录其他平台去配置这个记录然后点击验证。早上这个验证很快,下午5点后验证通过很慢,不知道为什么。11:验证通过后是这样12:点击下载,弹出下载界面,然后下载证书,解压后的文件,根据你ssl证书使用的环境选择你需要的文件,我这里是选择的是nginxssl证书ngnix下的两个文件,去年也是这两个14:将这个两个证书上传到服务器上,放到哪里都可以,这两个文件的名字你也是可以修改一下。只要你在nginx.conf文件中配置的时候能找到就可以。因为去年已经配置过了,我这里不用修改配置文件,只要将这两个文件名称修改后替换就可以了。完整的配置如下,其余参数根据实际情况修改:server {listen443;server_namewww.domain.com; #用户服务器的域名sslon;ssl_certificatecert/server.crt;ssl_certificate_keycert/server.key;ssl_session_timeout5m;ssl_protocolsTLSv1 TLSv1.1 TLSv1.2;ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;ssl_prefer_server_cipherson;location / {roothtml; #站点目录indexindex.html index.htm;}}15:重启nginx3:验证是否新的证书已经生效了访问网站,点击锁子,查看证书的有效期是否已经被修改了
  • [技术干货] SSL到期了让我续费,没有米,继续使用免费版“续费”一年
    1:前情提要免费的SSL到期了,服务商提醒我该缴费了。不是不想买,主要是没钱。但是应用必须使用,只能在搞一年免费的。在这个先感谢免费提供ssl证书的华为云。2:找到网站申请地址,然后一顿操作首页你要有一个华为云账号。没有的需要申请一下。1.登录管理控制台。cid:link_0console/?region=cn-north-1#/home2.单击页面左上方的,选择“安全与合规 > 云证书管理服务”,进入云证书管理界面。3.在左侧导航栏选择“SSL证书管理”,进入SSL证书管理页面。4.在证书列表左上角,单击“创建测试证书”,进入创建测试证书对话框界面。“创建测试证书”按钮处显示的数字表示测试证书剩余可创建数量和可累计创建总数量。例如数字显示为“13/20”,表示剩余可创建13张测试证书,可累计创建20张测试证书。5.阅读并勾选“我已阅读并同意《云证书管理服务(CCM)免责声明》”,单击“确认”。6.您在SSL书列表中可查看到创建成功的免费测试证书。7.在证书列表中已创建的免费证书所在行的“操作”列,单击“申请证书”。弹出申请证书界面8.填写完成后单击下一步,让你填写一些个人信息,然后填写下,提交申请9.提交申请后去验证DNS。10:因为域名不是在华为上购买的,需要登录其他平台去配置这个记录然后点击验证。早上这个验证很快,下午5点后验证通过很慢,不知道为什么。11:验证通过后是这样12:点击下载,弹出下载界面,然后下载证书,解压后的文件,根据你ssl证书使用的环境选择你需要的文件,我这里是选择的是nginxssl证书ngnix下的两个文件,去年也是这两个14:将这个两个证书上传到服务器上,放到哪里都可以,这两个文件的名字你也是可以修改一下。只要你在nginx.conf文件中配置的时候能找到就可以。因为去年已经配置过了,我这里不用修改配置文件,只要将这两个文件名称修改后替换就可以了。完整的配置如下,其余参数根据实际情况修改:server {listen443;server_namewww.domain.com; #用户服务器的域名sslon;ssl_certificatecert/server.crt;ssl_certificate_keycert/server.key;ssl_session_timeout5m;ssl_protocolsTLSv1 TLSv1.1 TLSv1.2;ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;ssl_prefer_server_cipherson;location / {roothtml; #站点目录indexindex.html index.htm;}}15:重启nginx3:验证是否新的证书已经生效了访问网站,点击锁子,查看证书的有效期是否已经被修改了
  • [交流分享] Nginx配置http、https、ws、wss及其作用
    http代理:最常用的代理配置,可以解决负载均衡,容灾等问题;https代理:安全的http代理,对于安全性要求比较高,需要配置证书;ws代理:WS表示websocket服务,指的是长连接,Nginx配置WebSocket也比较简单只需要加上配置项: proxy_set_header Upgrade $http_upgrade;             proxy_set_header Connection $connection_upgrade;    wss代理:WSS表示WebSocket + Https,就是安全的WebSocket,配置和ws服务一样,只需要在https代理加上配置项: proxy_set_header Upgrade $http_upgrade;             proxy_set_header Connection $connection_upgrade;    配置文件如下,其中localhost值不能重复,配置项参考https://www.runoob.com/w3cnote/nginx-setup-intro.html:       server {         listen 8088;                 server_name localhost;                //配置ssl证书,证书生产命令 openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout test.key -out test.crt        ssl_certificate "test.crt";        ssl_certificate_key "test.key";        ssl_ecdh_curve X25519:X448;        ssl_session_cache    shared:SSL:1m;        ssl_session_timeout  5m;        ssl_protocols TLSv1.3 TLSv1.2;        ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384";        // 开启ssl认证,若不开启,https、wss认证不生效        ssl_prefer_server_ciphers on;                        // 配置https代理,需要开启ssl认证开关        location /{             proxy_pass https://xxx.xxx.xxx.xxx:****;             }                 // 配置http代理        location / {             proxy_pass http://xxx.xxx.xxx.xxx:****;         }                // 配置wss代理,需要开启ssl认证开关        location /{             proxy_pass https://xxx.xxx.xxx.xxx:****;             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;             proxy_set_header Upgrade $http_upgrade;             proxy_set_header Connection $connection_upgrade;                     }                // 配置ws代理        location / {             proxy_pass http://xxx.xxx.xxx.xxx:****;             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;             proxy_set_header Upgrade $http_upgrade;             proxy_set_header Connection $connection_upgrade;             }    }}
  • [技术干货] 智慧园区业务资产说明之——智慧园区地图组件(下)
    地图属性选中地图组件,单击配置属性、数据、事件。图1 地图属性页面地图属性参数说明如表2所示。表2 地图组件属性设置页面参数说明区域参数名说明属性组件标题地图组件名称该Widget名称。边框边框样式,是整体显示边框或者四角显示边框。背景/样式背景样式。背景/图片链接背景图片URL。背景/颜色背景颜色。数据Connector - ScatterDataConnector当需要在地图上显示散点图时,则配置该桥接器。单击该桥接器后的,在“桥接器”窗口配置如下参数,为地图提供散点图的数据源。桥接器名称:调用的桥接器名称,从下拉框选择系统提供的预置桥接器。系统预置的桥接器可在APP开发界面左侧列表单击,选择“高级页面>桥接器”,在“全局”页签进行查找并下载查看桥接器包中内容。调用周期(秒):每隔多少秒调用一次后台接口,默认配置为“0”,表示只调用一次后台接口。URL:调用后台接口的URL,该接口实现为地图提供散点图的数据源,您可通过服务编排进行实现。用于在地图初始化时,接收Custom API传来的数据,将其转化为ScatterDataViewModel定义的数据模型,在地图上绘制echarts散点图。ScatterDataViewModel定义的数据模型,与地图组件Action中“画散点图refreshScatter Action”所定义的模型一致。详细参数请参见ScatterDataConnector。Connector - AlarmDataConnector当需要在地图上显示告警信息时,则单击该桥接器后的进行配置,为地图提供告警的WebSocket数据源。用于在使用地图过程中,侦听web socket上报的消息数据,将其转化为AlarmDataViewModel定义的数据模型,在地图上添加或清除覆盖物。例如火警告警被触发后,web socket侦听到上报消息,会自动触发地图组件对AlarmDataConnector的调用,添加告警窗口可以用添加信息窗体来实现。AlarmDataViewModel定义的数据模型,与地图组件Action中“在地图上添加或清除覆盖物addMarkerElements Action”所定义的模型一致,详细参数请参见AlarmDataConnector。Connector - SC_OverlaysDataConnector用于在地图初始化时,接收Custom API传来的数据,将其转化为OverlaysDataViewModel定义的数据模型,为地图添加或清除覆盖物。OverlaysDataViewModel定义的数据模型,与地图组件Action中“在地图上添加或清除覆盖物addMarkerElements Action”所定义的模型一致,详细参数请参见SC_OverlaysDataConnector。Connector - MapConfigDataConnector当需要从外部控制地图的类型、中心点、缩放级别等配置时,则单击该桥接器后的进行配置,为地图提供初始化配置数据的数据源。用于在地图初始化时,接收Custom API传来的数据,将其转化为MapConfigDataViewModel定义的数据模型,用于改变地图初始化时的配置,详细参数请参见SC_MapConfigDataConnector。API POST Connector查询地图配置。当使用伟岸纵横/超图/中地数码地图时,必须配置该参数。当使用百度/谷歌/高德地图时,不需要配置该参数。事件markerElementSelection单击地图上的某个marker,地图外发一个带marker详细信息的事件。marker详细信息的Object,内容取决于添加marker时传入的详细信息,如:"element":{ "height": 24, "heightSelected": 32, "id": "elevator002", "image": "/images/elevator001.png", "imageSelected": "/images/elevator005.png", "label": { "offset": [5, -25], "text": "电梯002" }, "position": [114.05822932720184, 22.656630277633667], "tag": {}, "title": "电梯002", "width": 24, "widthSelected": 32, "mapSideId": "111" }scatterPointSelection单击散点图中的某个点,地图外发一个被单击的点详细信息的事件。输出参数如下:eventType:必选,String类型,表示当前触发的事件类型:click。callback:必选,String类型,表示事件触发后的回调函数名称,或任意唯一标示符。echartsData:必选,Object类型,被单击的点详细信息,取决于画点时传入的信息。zoomTheMap缩放地图,地图外发一个带缩放信息的事件。输出参数如下:zoom:必选,Number类型,表示地图显示的缩放级别(1~22)。center:必选,Array类型,表示地图中心点经纬度坐标值,如[经度,纬度],使用GPS(WGS-84)坐标系。clickTheMap单击地图上某个位置,地图外发一个带位置信息的事件。输出参数如下:lng:必选,Number类型,表示单击位置的地图经度。lat:必选,Number类型,表示单击位置的地图纬度。buildingId:可选,String类型,表示单击位置的室内楼栋ID。floorId:可选,String类型,表示单击位置的室内楼层ID。frameOnEnd打开地图框选控件,进行框选,框选结束后,地图外发框选到的marker和热力点信息列表。输出参数:markers:可选,Array类型,表示markers列表,包含addMarker/addFlashMarekr/addClusterMarker接口添加marker时传入的marker信息。heatPoints:可选,Array类型,表示热力点列表,包含showHeatMap接口画热力图时传入的热力点信息。地图Action选中地图组件,单击配置属性,选择“事件”可创建新组件事件,或者编辑已有的事件操作。图2 编辑事件操作地图事件操作如表3所示。表3 地图组件Action操作Action名称说明画散点图Refresh Scatter在地图上画echarts散点图。在地图上添加或清除覆盖物Add Marker Elements在地图上添加某种类型的覆盖物(图标、闪烁图标、信息窗体、折线实际路径、规划后的路径、热力图、圆、折线),或清除所有覆盖物清除某类或某个覆盖物Clear Overlays By Condition根据传入的id或type,清除地图上覆盖物。定位地图上某个覆盖物Locate Element找到地图上某个指定的图标,并触发图标点击事件。修改地图配置数据Modify Map Configuration地图使用过程中,对地图的某些属性进行修改。
  • [热门活动] 618年中最强优惠大促,华为云CDN助力全球企业提供低时延用户体验
    海外融媒体矩阵平台凤凰秀依托华为云CDN提供高质量、低延迟用户体验通过在华为云CDN的可扩展、安全和覆盖全球的边缘网络上运行其平台和应用程序,凤凰秀旨在抓住数字化转型的增长机遇,加强其数字媒体转型的领导地位,并为5G技术、VR、视频AI的发展培养潜在能力。凤凰秀(Feng Shows)是凤凰卫视的海外融媒体矩阵平台,践行“立足香港,面向港澳台及全球华人”的使命,发挥凤凰传媒优势,结合互联网传播形态,提供凤凰卫视中文台、资讯台、香港台24小时直播,凤凰卫视精品节目点播,全球资讯速报等内容。秉承凤凰卫视一以贯之“高度、精品、深度”的内容理念,通过客户端与海外社交媒体传递中国声音。凤凰秀建立了以客户端为核心、社交媒体为辐射的传播矩阵,截止目前,客户端累计下载量已突破600万。人们的媒体消费行为已然发生巨大变化,用户成为中心角色,保障用户享有流畅、高清、低时延的视听体验至关重要。华为云CDN为凤凰秀提供点播和直播加速,通过将热点视频提前分发至更优的服务节点,用户无需回源获取,减轻源站压力,同时进一步提高访问速度。作为专业的内容分发网络,华为云CDN保障数字内容从地理分布网络中的附近位置向最终用户交付。依托华为云CDN覆盖130多个国家和地区2800+节点,全网带宽超过150T,凤凰秀利用华为云CDN的精准调度和负载均衡,让视频内容传输更快,同时保障低卡顿平均值和错误率均值。通过更有效地使用资源和降低带宽费用,华为云CDN为客户节省IT成本。 聪明的企业通常会做其能做的事,让其高薪聘请的技术专家去开发为业务增加价值的产品,而不是花时间管理复杂的IT基础设施。所以有必要去评估一个CDN的易用性。华为云CDN配置简单,在几分钟之内能够快速运行,而无需繁杂的手动配置,对于初次使用者也是很友好的。 凤凰秀和华为云CDN的合作旨在加速向云平台的转变,涵盖多个工作领域,包括技术解决方案和生态。客户可以利用华为云提供的各种云服务,在无需对CDN系统进行变更的同时,扩展云功能。即使面对流量高峰,华为云CDN联动其他云产品也能为客户带来持续的高质量体验。华为云CDN助力全球企业云提速!今年618华为云CDN优惠大放送,年中最强优惠回馈新老客户,折扣优惠享不停!CDN流量包券后低至3.4折优惠,闲时流量包券后低至0.045元/GB,同时新客还可领取价值680元的专享折后满减代金券大礼包。此外,新品视频直播闲时流量包券后低至0.075元/GB,让客户享受更低的价格,体验更优质的视频服务。华为云CDN618分会场精选多个爆款规格流量包倾情奉上,全方位多重力度为企业客户降低成本压力!快来和我们一同开启智能加速吧!登录华为云官网,前往华为云CDN618分会场,更多优惠等你来发现! 更多福利请扫码前往CDN专场
  • [技术干货] 基于STM32+华为云IOT设计的老人防摔倒报警系统
    ## 1. 前言 我国独生子女,以及人口老龄化等问题,正逐渐成为一个重大的社会问题,老年人机体能力的下降,摔倒引起的安全和危害愈来愈突出,国家和社会越来越关注老年人的健康和安全,开发一个能够实时检测出老年人是否摔倒,并且能及时告知监护人的摔倒检测以及报警系统具有重要的现实意义。本系统包括检测摔倒模块、GPS定位模块和通信模块三部分,通过检测老年人日常状态,可以得知老年人的状态,如果监测到老年人摔倒了,此时会通过网络把检测结果上传到物联网云平台,获得老年人摔倒地点的GPS定位,并且通过GPRS通讯发短信给预设的监护人。 ## 2. 设计需求 (1)采用STM32单片机作为主控芯片,配合其他模块完成功能设计 (2)通信模块采用SIM800C,支持上传采集的GPS经纬度数据到云端服务器,云端采用华为云物联网平台。 (3)老人摔倒检测采用MPU6050陀螺仪检测,当检测到老人摔倒之后,会通过SIM800C发送短信到紧急联系人,设备上的蜂鸣器会发出警报声,周围行人听到也可以进行帮助;并且会将GPS数据上传到云端,通过地图显示老人的位置,家人通过短信知道老人摔倒后,通过云端地图显示的位置,可以快速赶到老人身边,或者报警求助,报告位置。 (4)老人摔倒后,如果自己能行动,没有大问题,可以自己按下设备上的按键取消蜂鸣器报警,并且通过SIM800C向家人发送一条短信,报平安。 ## 3. 设计的实物效果 为了快速验证方案的可行性,这里采用现成的模块采用杜邦线连接完成整个预想的功能设计。 下面就是硬件连接好之后的效果图,选用的硬件型号在第4章节已经全部贴出来了;为了方便户外测试,这里的供电电源采用了充电宝,也可以采用电池盒供电。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654611828763541312.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654611854264493879.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654611864621658164.png) 通过服务器返回坐标之后显示的轨迹、定位等信息,实时显示定位。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654666552687858340.png) 可以设置电子围栏,坐标超出之后进行提示。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654666630193312700.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654666733713299054.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654666764627708730.png) ## 4. 硬件选型 主控芯片采用STM32RCT6,通信模块采用SIM800C,GPS采集使用ATGM336北斗BDS+GPS双模模块,老人摔倒检测模块采用MPU6050陀螺仪。 这些都是采用现成的成品模块,都是在淘宝上买的,下面都贴出了模块的型号,模块的实物截图,如果自己想做一个,可以在淘宝上找到一样的模块型号购买。 ### 4.1 SIM800C SIM800C模块是一款高性能高性价比工业级的GSM/GPRS模块。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654612195228178520.png) **1、DC 5V-18V电源输入,推荐使用DC 9V** 2、电源开始使能引脚默认使能 **3、电源地** **4、GSM模块的TXD引脚接其它模块的RXD** **5、GSM模块的RXD引脚接其它模块的TXD** 6、数据终端准备 7、内核音频输出引脚 8、内核音频输出引脚 9、锂电池输入引脚,DC 3.5 - 4.5V 10、电源地 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654612248104999807.png) **11、启动引脚和GND短路可实现开机自启动** **12、电源地** 13、RTC外置电池引脚 14、内核振铃提示引脚 15、内合音频输入引脚 16、内核音频输入引脚 **加粗的引脚一般都用到。** 建议使用V_IN单独供电DC5-18V输入(推荐使用9V),或者VBAT供电锂电池两种供电方式这两种供电方式最稳定。 **总结:** 模块本身支持自适应波特率,可以自动根据发送过去的指令计算对应的波特率,一般使用115200即可。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654612860107297046.png) **模块调试总结:** (1)供电电压5V也可以,采用电脑USB供电(直接插电脑USB口)。正常供电之后,模块上有电源指示灯。 (2)SIM800C的TX脚接单片机的RX脚 (3)SIM800C的RX脚接单片机的TX脚 (4)SIM800C的第11个引脚(PWK)和12个引脚(GND)短接接在一起,才可以开机。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654612884831865928.png) 电源正常后,右上角有一个黄色的电源灯。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654613257499270037.png) 通过串口发送AT指令过去测试模块效果。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654613276924125043.png) ### 4.2 STM32F103C8T6开发板 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654613334203859254.png) ### 3.3 GPS模块 GPS模块正常定位后,模块上的LED灯会按照1秒钟闪烁一次。 返回的字段里$GNRMC表示当前定位的GPS经纬度,解析代码只需要解析$GNRMC字段。 第一次启动GPS模块,定位差不多要几分钟时间,定位成功后,第二次启动定位就很快,最好是在室外,室内信号差,定位时间更久。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654613385524230260.png) ### 4.4 MPU6050陀螺仪 陀螺仪选择的是正点原子的模块,比较稳定,质量较好。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654613398241542028.png) ### 4.5 蜂鸣器 蜂鸣器选择的高电平触发。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654613410458336529.png) ## 5. 创建云端物联网服务器 为了方便查看老人摔倒之后的位置,需要通过SIM800C将设备采集的GPS数据上传到云平台服务器保存,就算老人没有跌倒,也可以实时关注老人的位置,在地图上绘制出轨迹线路,方便家人随时联系,了解老人的情况。 这里物联网的平台选择是华为云物联网平台,目前是免费使用的,在云端创建产品等信息后,设备再通过MQTT协议连接云平台上传GPS数据。目前华为云的拖拽试网页开发页面已经下架,目前要开发对应的上位机,可以采用最近主推的低代码开发平台或者自己通过云平台的应用侧开发接口自己开发上位机,我这里是自己开发的上位机,通过QT编写的上位机APP,支持windows、Android、Linux等多个平台运行,跨平台使用还是比较方便。 下面接着就介绍如何登陆官网创建产品、设备、完成云端的产品部署。 ### 5.1 创建产品 官网地址: https://www.huaweicloud.com/product/iothub.html 打开官网后没有华为云账号需要先注册账号,这些步骤就不多说了,接下来就直接介绍如何创建产品、设备、配置属性、完成数据上传交互的流程。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654615063227820021.png) 点击免费使用进去页面。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654615376001477304.png) 点击左边产品选项,点击右上角创建产品按钮,弹出参数填充对话框。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654615410546954033.png) 根据自己的设备情况填入信息之后保存。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654615686437391185.png) 产品创建成功,点击查看详细信息。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654615726709192710.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654615752611801975.png) ### 5.2 创建模型文件 在现在的详情页面往下翻,可以看到模型创建的选项。 点击自定义模型选项,创建模型。 这里的模型就是设备上传的数据属性。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654615959215537746.png) 添加服务ID。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654616000663783657.png) 点击创建属性,这里选择JSON类型的数据,上传的GPS有经纬度两个数据,方便保存。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654616086397913200.png) 创建成功。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654616127502312806.png) ### 5.3 创建设备 产品是一个大框架的模型,下面可以创建很多具体的设备,目前我这里只有一个硬件设备,就创建一个设备就行了。设备可以手动创建,也支持自动创建,就像现在市面上的智能设备产品,拿到设备后,扫描设备上二维码再通手机APP就可以完成产品的创建,设备的添加。 目前我这里设备就只有一个,而且还要演示整个流程,就在网页上完成整个设备的创建。 链接地址: https://console.huaweicloud.com/iotdm/?region=cn-north-4#/dm-portal/device/all-device 点击左边的设备选项,再点击右上角的注册设备。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654616324530544885.png) 填充好信息之后,点击确定。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654616559778844835.png) 创建后保存设备的数据。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654616687257626924.png) ```cpp { "device_id": "GPS1", "secret": "12345678" } ``` 创建成功,目前设备处于未激活状态。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654616742347774247.png) ### 5.4 获取MQTT登录参数 目前产品、设备创建好之后就需要通过设备连接上来上传数据,要完成这个步骤,还需要知道一些前提的流程。 【A】华为云服务器IP地址、域名、端口号 【B】主题订阅的格式、主题发布的格式 【C】MQTT协议登录的三元组信息 充分了解了这3个信息之后就可以编写设备端代码了。下面就详细介绍这些信息怎么得到。 【1】华为云的服务器地址信息 在这里查看: https://console.huaweicloud.com/iotdm/?region=cn-north-4#/dm-portal/instance/detail?id=8fe87243-d97d-4c1e-bb34-186a60ca2d14&type=public ```cpp 华为云物联网平台的域名是: 161a58a78.iot-mqtts.cn-north-4.myhuaweicloud.com 华为云物联网平台的IP地址是:121.36.42.100 端口号是1883 ``` 【2】主题订阅的格式、主题发布的格式 主题订阅上报的格式在产品的详情页面可以看到。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654617665343588192.png) 主题发布官方的详细介绍在这里: https://support.huaweicloud.com/devg-iothub/iot_01_2127.html#ZH-CN_TOPIC_0240834853__zh-cn_topic_0251997880_li365284516112 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654617489186647411.png) 主题上报的属性格式说明文档地址: https://support.huaweicloud.com/api-iothub/iot_06_v5_3010.html ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/7/1654617549057348145.png) 根据当前设备的信息总结,得到的信息如下: ```cpp //订阅主题: 平台下发消息给设备 $oc/devices/GPS1/sys/messages/down //设备上报数据 $oc/devices/GPS1/sys/properties/report //上报的属性消息 (一次可以上报多个属性,在json里增加就行了) {"services": [{"service_id": "GPS","properties":{"GPS":{"lon":106.53,"lat":29.46}}}]} ``` 【3】MQTT协议登录的三元组信息 华为云提供了MQTT协议参数的生成工具,非常方便,根据提示填入参数一键生成三元组。 MQTT设备登陆密匙生成地址: https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/ ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654618243136289009.png) 得到的三元组如下: ```cpp ClientId GPS1_0_0_2022060716 Username GPS1 Password 27a2d2dd716fac29a0041beec1d7cf5f5b529fac65cc815c7eed9adb04d7364b ``` ### 5.5 采用MQTT客户工具登录测试 为了方便验证服务器的配置以及主题、属性这些是否OK,可以先使用MQTT客户端模拟真实设备登录测试。下面这个MQTT工具是我自己开发的,为了方便测试对接物联网平台,使用QT写了这么一个工具软件。 工具软件的名称: `MQTT客户端_v2.5(协议3.1.1).exe` 我已经上传到CSDN的资源库里了,可以直接去CSDN里搜索就能找到软件的下载地址,下面的文章的附件里我也会上传一份。 在软件左边根据提示填入对应的参数,依次点击登录,订阅主题,发布主题即可。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654618676956345509.png) 这时打开网页可以看到设备已经在线了。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654618920827527802.png) 在设备影子页面上可以看到上传的数据内容。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654618953457508133.png) 启动消息跟踪,可以了解通信的过程。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654618992861494998.png) ## 6. STM32硬件设备端程序设计 在第5章完成了物联网云平台的构建,接下来的第6章节,就编写STM32设备端代码。 STM32设备端开发环境采用keil5进行开发,编程风格采用寄存器风格形式,不管使用库函数,还是寄存器,还是HAL库,本身都一样,没有太大区别,我编写STM32代码习惯了寄存器开发,主要是寄存器的代码比较简洁,工程文件精简。 关于keil5软件的下载流程、安装流程、基本使用办法这里就不在详细介绍,相应看这篇文章的`道友`应该这些会这些基操,这里主要是以项目为导向,介绍比较核心的知识点。 ### 6.1 硬件接线 下面是介绍使用的硬件模块与STM32开发板之间的硬件连线。 ```cpp SIM800C接线说明: GND----GND PA2----SIM800C_RXD PA3----SIM800C_TXD CH340模块接线说明: GND----GND RX-----PA9 GPS接线说明: (波特率需要根据GPS模块实际情况进行修改) GND----GND VCC---3.3V PB11----GPS_TX 蜂鸣器模块: 高电平响 BEEP----->PB8 板载LED灯: LED1--PC13 低电平亮 板载按键: KEY1--PA0 按下为高电平 外接按键: KEY1 -PB3 按下是低电平 KEY2 -PB2 按下是低电平 外接LED灯模块: LED1-PB4 低电平亮 LED2-PB5 低电平亮 硬件接线: 1 VCC 3.3V/5V 电源输入 ---->接3.3V 2 GND 地线 --->接GND 3 IIC_SDA IIC 通信数据线 -->PB6 4 IIC_SCL IIC 通信时钟线 -->PB7 5 MPU_INT 中断输出引脚 ---->未接 6 MPU_AD0 IIC 从机地址设置引脚-->PA15 AD0引脚说明:ID=0X68(悬空/接 GND) ID=0X69(接 VCC) 注意:陀螺仪初始化的时候,必须正常摆放才可以初始化成功 ``` 这是通过杜邦线接好模块后的效果图: ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654619463062922987.png) ### 6.2 keil工程截图 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654619601374318257.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654619625941311862.png) ### 6.3 原理图 下面是绘制的原理图。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654619666172245021.png) ### 6.4 MQTT协议实现代码以及MQTT参数 SIM800C本身没有内置MQTT协议指令,只有TCP通信的指令,需要自己封装MQTT协议,然后通过TCP通信的相关指令完成云端服务器连接,实现数据交互。 下面这份代码是MQTT协议的参数定义,程序里为了方便修改,采用宏定义方式赋值这些参数。 ```cpp //华为物联网服务器的设备信息 #define MQTT_ClientID "GPS1_0_0_2022060716" #define MQTT_UserName "GPS1" #define MQTT_PassWord "27a2d2dd716fac29a0041beec1d7cf5f5b529fac65cc815c7eed9adb04d7364b" //订阅与发布的主题 #define SET_TOPIC "$oc/devices/GPS1/sys/messages/down" //订阅 #define POST_TOPIC "$oc/devices/GPS1/sys/properties/report" //发布 ``` 这是封装的几个MQTT协议核心函数: ```cpp /* 函数功能: 登录服务器 函数返回值: 0表示成功 1表示失败 */ u8 MQTT_Connect(char *ClientID,char *Username,char *Password) { u8 i,j; int ClientIDLen = strlen(ClientID); int UsernameLen = strlen(Username); int PasswordLen = strlen(Password); int DataLen; mqtt_txlen=0; //可变报头+Payload 每个字段包含两个字节的长度标识 DataLen = 10 + (ClientIDLen+2) + (UsernameLen+2) + (PasswordLen+2); //固定报头 //控制报文类型 mqtt_txbuf[mqtt_txlen++] = 0x10; //MQTT Message Type CONNECT //剩余长度(不包括固定头部) do { u8 encodedByte = DataLen % 128; DataLen = DataLen / 128; // if there are more data to encode, set the top bit of this byte if ( DataLen > 0 ) encodedByte = encodedByte | 128; mqtt_txbuf[mqtt_txlen++] = encodedByte; }while ( DataLen > 0 ); //可变报头 //协议名 mqtt_txbuf[mqtt_txlen++] = 0; // Protocol Name Length MSB mqtt_txbuf[mqtt_txlen++] = 4; // Protocol Name Length LSB mqtt_txbuf[mqtt_txlen++] = 'M'; // ASCII Code for M mqtt_txbuf[mqtt_txlen++] = 'Q'; // ASCII Code for Q mqtt_txbuf[mqtt_txlen++] = 'T'; // ASCII Code for T mqtt_txbuf[mqtt_txlen++] = 'T'; // ASCII Code for T //协议级别 mqtt_txbuf[mqtt_txlen++] = 4; // MQTT Protocol version = 4 对于 3.1.1 版协议,协议级别字段的值是 4(0x04) //连接标志 mqtt_txbuf[mqtt_txlen++] = 0xc2; // conn flags mqtt_txbuf[mqtt_txlen++] = 0; // Keep-alive Time Length MSB mqtt_txbuf[mqtt_txlen++] = 100; // Keep-alive Time Length LSB 100S心跳包 保活时间 mqtt_txbuf[mqtt_txlen++] = BYTE1(ClientIDLen);// Client ID length MSB mqtt_txbuf[mqtt_txlen++] = BYTE0(ClientIDLen);// Client ID length LSB memcpy(&mqtt_txbuf[mqtt_txlen],ClientID,ClientIDLen); mqtt_txlen += ClientIDLen; if(UsernameLen > 0) { mqtt_txbuf[mqtt_txlen++] = BYTE1(UsernameLen); //username length MSB mqtt_txbuf[mqtt_txlen++] = BYTE0(UsernameLen); //username length LSB memcpy(&mqtt_txbuf[mqtt_txlen],Username,UsernameLen); mqtt_txlen += UsernameLen; } if(PasswordLen > 0) { mqtt_txbuf[mqtt_txlen++] = BYTE1(PasswordLen); //password length MSB mqtt_txbuf[mqtt_txlen++] = BYTE0(PasswordLen); //password length LSB memcpy(&mqtt_txbuf[mqtt_txlen],Password,PasswordLen); mqtt_txlen += PasswordLen; } memset(mqtt_rxbuf,0,mqtt_rxlen); MQTT_SendBuf(mqtt_txbuf,mqtt_txlen); return 1; } ``` ### 6.4 MPU6050.c代码 这是MPU6050陀螺仪的核心驱动代码,方便检测老人的姿态,判断是否摔倒。 因为文章发表的字数限制问题,无法贴出代码,代码后面整理了通过附件上传。 ### 6.5 GPS.c代码 接收GPS数据之后进行解析,得到经纬度,方便上传到物联网云平台。 ```cpp #include "gps.h" /* 函数功能:从buf里面得到第cnt个逗号所在的位置 返 回 值:0~254,代表逗号所在位置的偏移. 255,代表不存在第cnt个逗号 */ u8 GPS_GetCommaOffset(char *buf,u8 cnt) { char *p=buf; while(cnt) { if(*buf=='*'||*buf<' '||*buf>'z')return 255;//遇到'*'或者非法字符,则不存在第cx个逗号 if(*buf==',')cnt--; buf++; } return buf-p; //计算偏移量 } /* 函数功能: 获取GPS经纬度数据值 函数参数: double *Longitude :经度 double *latitude :纬度 返回值: 0表示定位成功,1表示定位失败 说明: 解析$GPRMC命令,得到经纬度 $GNRMC,023705.000,A,2842.4164,N,11549.5713,E,1.73,91.65,150319,,,A*41 转换公式示例: 经度: dddmm.mmmm 东经 11408.4790 114+(08.4790/60)=114.141317 纬度: ddmm.mmmm 北纬 2236.9453 22+(36.9453/60)= 22.615755 中科微返回的数据 $GNRMC,144435.000,A,2942.1201,N,10636.6466,E,1.50,64.42,190422,,,A*40 */ u8 GPS_GPRMC_Decoding(u8 *gps_buffer,double *Longitude,double *latitude) { u8 Offset; u32 int_data; double s_Longitude,s_latitude; char *p; /*1. 确定下定位是否成功*/ p=strstr((char*)gps_buffer,"$GNRMC"); if(!p)return 1; Offset=GPS_GetCommaOffset(p,2); if(Offset==255)return 2; if(*(p+Offset)!='A')return 3; //定位不准确 /*2. 得到纬度*/ Offset=GPS_GetCommaOffset(p,3); if(Offset==255)return 4; sscanf(p+Offset,"%lf",&s_latitude); s_latitude=s_latitude/100; int_data=s_latitude;//得到纬度整数部分 s_latitude=s_latitude-int_data;//得到纬度小数部分 s_latitude=(s_latitude)*100; *latitude=int_data+(s_latitude/60.0); //得到转换后的值 /*3. 得到经度*/ Offset=GPS_GetCommaOffset(p,5); if(Offset==255)return 5; sscanf(p+Offset,"%lf",&s_Longitude); s_Longitude=s_Longitude/100; int_data=s_Longitude;//得到经度整数部分 s_Longitude=s_Longitude-int_data; //得到经度小数部分 s_Longitude=s_Longitude*100; *Longitude=int_data+(s_Longitude/60.0); return 0; } ``` ## 7. 上位机APP开发 为了方便查看地图位置,轨迹等信息,当前采用QT编写了一个配套的上位机,通过华为云IOT的应用侧开发接口,获取设备的影子数据,然后再调用百度地图进行显示目标位置。 接下来就介绍上位机软件的开发流程。 ### 7.1 安装Qt开发环境 Qt是个跨平台的C++开发框架,一份代码支持在不同系统平台编译运行。支持Android、IOS、Windows、Linux等平台。 目前我使用的开发环境是:QT 5.12.6 ,其他版本也可以的。 QT5.12.6的下载地址: https://download.qt.io/archive/qt/5.12/5.12.6/ 打开下载链接后选择下面的版本进行下载: ```cpp qt-opensource-windows-x86-5.12.6.exe 13-Nov-2019 07:28 3.7G Details ``` 软件安装时断网安装,否则会提示输入账户。安装的时候,第一个复选框里勾选一个mingw 32编译器即可,其他的不管默认就行,直接点击下一步继续安装。 如果只是在windows下开发,最简单的安装就只选择 MinGW编译器即可,其他的编译器不用勾选。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654652810682954333.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654652827743656689.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654652838716466203.png) ### 7.2 应用侧开发接口文档 帮助文档地址: https://support.huaweicloud.com/usermanual-iothub/iot_01_0045.html 当前我这个应用主要是读取设备上传的GPS数据即可,要得到数据有两种方式: 【1】读取设备影子数据,也就是获取设备上传到服务器之后的历史数据(非实时数据)就是设备最后一次传上来的数据,获取影子数据,不需要关心设备是否在线都可以获取。 我这里GPS获取是获取的影子设备数据,也就是得到设备最后一次上传的数据。 地址:https://support.huaweicloud.com/api-iothub/iot_06_v5_0079.html ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654655088628806784.png) 【2】(查询设备属性)读取实时数据,如果需要设备立即发布当前的数据上来,可以发送同步指令给设备,设备端需要编写解析指令的代码,收到指令后设备根据格式回应数据回来。这种同步实时数据需要设备保持在线才可以响应指令。 具体的使用场景可以根据自己需求设计。 通过查询属性的接口,可以主动请求获取设备详细属性。 **流程是:应用层调用这个API接口---->请求服务器----->请求客户端设备------>返回给服务器----->返回给应用层调用处。** 文档地址:https://support.huaweicloud.com/api-iothub/iot_06_v5_0034.html ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654655022205167514.png) ### 7.3 创建IAM账户 这一步很重要,在开发上位机时,需要调用应用侧的一些接口,这些接口都需要带上token登录密匙。而token登录密匙的生成需要IAM账户才获取。 地址:https://console.huaweicloud.com/iam/?region=cn-north-4#/iam/users **(1)创建用户** ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654654902648317962.png) **(2)填充参数** ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654654927775110314.png) **(3)完成创建** ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/8/1654654947851652279.png) ### 7.4 实现代码 下面贴出请求接口的核心代码。 ```cpp /* 功能: 获取token */ void Widget::GetToken() { //表示获取token function_select=3; QString requestUrl; QNetworkRequest request; //设置请求地址 QUrl url; //获取token请求地址 requestUrl = QString("https://iam.%1.myhuaweicloud.com/v3/auth/tokens") .arg(SERVER_ID); //自己创建的TCP服务器,测试用 //requestUrl="http://10.0.0.6:8080"; //设置数据提交格式 request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json;charset=UTF-8")); //构造请求 url.setUrl(requestUrl); request.setUrl(url); QString text =QString("{\"auth\":{\"identity\":{\"methods\":[\"password\"],\"password\":" "{\"user\":{\"domain\": {" "\"name\":\"%1\"},\"name\": \"%2\",\"password\": \"%3\"}}}," "\"scope\":{\"project\":{\"name\":\"%4\"}}}}") .arg(MAIN_USER) .arg(IAM_USER) .arg(IAM_PASSWORD) .arg(SERVER_ID); //发送请求 manager->post(request, text.toUtf8()); } //获取影子设备数据 void Widget::on_pushButton_addr_clicked() { //表示影子设备数据获取 function_select=0; QString requestUrl; QNetworkRequest request; //设置请求地址 QUrl url; //获取token请求地址 requestUrl = QString("https://iotda.%1.myhuaweicloud.com/v5/iot/%2/devices/%3/shadow") .arg(SERVER_ID) .arg(PROJECT_ID) .arg(Device_id); //自己创建的TCP服务器,测试用 //requestUrl="http://10.0.0.6:8080"; //设置数据提交格式 request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json")); //设置token request.setRawHeader("X-Auth-Token",Token); //构造请求 url.setUrl(requestUrl); request.setUrl(url); //发送请求 manager->get(request); } ``` 主要贴出2个比较重要的函数,一个获取token,一个查询设备影子数据。 ## 8. 华为云IOT微认证(3折微认证活动月) 目前华为云IoT开启了3折微认证活动月,华为云微认证提供一站式在线学习、实验与考试,零基础也可学习前沿技术知识,快速上手实战开发,获得场景化的技能提升! 即日起,报名活动即可参与抽奖,认证即送礼品,成团更送价值好礼! 不仅带你考取权威证书,0基础入门物联网开发,还可带走华为手环、耳机等豪华礼品! 【活动时间】 2022年5月17日-2022年6月17日 活动报名: https://developer.huaweicloud.com/signup/789d09ab650a46838b6908107d3282e1
  • [热门活动] 华为云CDN通过全站加速引领网站性能全面优化
    618大促来了,华为云CDN超级优惠加速网站性能全面优化全球58.4%的人口使用社交媒体,人们平均每日使用时间为2小时27分钟(数据来源:Smart Insights,2022年1月),实时、交互和自适应的动态内容爆发式增长。动态内容是海量的,然而竞争也是激烈的。据估计,每延迟1秒就有6%的用户离开。尽可能少的加载和等待时间对于企业减少用户流失和增加收入来说至关重要,这其中的秘诀就是将这些内容进行加速。电商,金融,游戏也是同样的情况,因为延迟可能会被用户看作访问失败。全球日益流行的动态内容驱动了华为云CDN全站加速解决方案的采用,它适用于提供多样化内容组合(静态、动态和不可缓存)的网站和Web服务器使用几种常见的Web编程语言(如 php、ruby 或 java)动态生成的内容。与标准CDN服务(将静态内容缓存到更靠近最终用户的位置)不同,全站加速深度融合了动态加速技术和静态加速技术,拥有更广阔的应用场景,包括动静混合、API接口、文件上传和个人文件加速。全站加速技术架构示意图动静态分离是华为云CDN全站加速的主要功能之一。通过对内容自动识别,智能的对动静态分类进行分离,客户不用在源服务器上更改代码来标记和区分动静态内容。静态内容从边缘节点就近获取,动态内容通过动态加速技术智能选择最佳路由回源获取,从而避免路由堵塞,降低延迟,提升速度。全站加速的优势是依靠华为云CDN全球智能边缘网络,覆盖130多个国家/地区2800+加速节点资源,智能调度依托集群部署分布式缓存,精准调度更优服务节点,在尽可能靠近用户的地方交付。一般来说,一些数据和文件是无法缓存的,处理这些内容的关键是沿着最快的路径智能地在其网络上处理内容请求。基于华为云边缘智能网络,华为云CDN独创Overlay智能路由技术,通过AI预测发现网络链路时变规律,设计全局路由,进行智能探测,选择最优路径,对网络变化进行智能分析和预测,动态调整纠错码的冗余率,降低时延。此外,全站加速还能支持传输协议优化。华为云CDN Net Turbo依托于智能加速网络实现端-边-云协同,通过QUIC传输协议、BBR2.0+增强算法、MP-TCP聚合加速等多种协议及算法优化,减少带宽消耗,改善加载速度,提高站点性能。通过全站加速,客户很好地解决了页面动静态资源混合、应对流量峰值、规避网络拥塞和延迟,全面改善访问体验,进而提高转化率和用户忠诚度。  华为云CDN助力全球企业云提速!今年618华为云CDN优惠大放送,年中最强优惠回馈新老客户,折扣优惠享不停!CDN流量包券后低至3.4折优惠,闲时流量包券后低至0.045元/GB,同时新客还可领取价值680元的专享折后满减代金券大礼包。此外,新品视频直播闲时流量包券后低至0.075元/GB,让客户享受更低的价格,体验更优质的视频服务。华为云CDN618分会场精选多个爆款规格流量包倾情奉上,全方位多重力度优惠为企业客户降低成本压力!快来和我们一同开启智能加速吧!登录华为云官网,前往华为云CDN618分会场,更多优惠等你来发现!
  • [获奖公告] 【代码重构每日打卡获奖名单公布】每日课程打卡,赢取课程奖励!
    恭喜获奖的各位开发者请大家在5月31日前点击下方链接填写获奖信息我们会在截至日期结束之后尽快给您邮礼品如您逾期没有填写,视为主动放弃奖励,望周知。获奖信息填写链接:【14天代码重构实战营用户体验及奖品邮寄信息登记问卷】活动已结束,获奖名单如下所示,公示5天公示期结束后(5月23日)获奖者可在本帖填写奖品邮寄信息收集问卷。公示期:5月18日-5月22日抽奖说明:此次14天代码重构实战营活动打卡情况统计如下:完成14天打卡用户人数42人完成7天打卡用户人数60人完成3天打卡用户人数66人完成1天打卡用户人数105人为保证公平性,3/7/14天连续打卡用户不可重复中奖,故每轮抽奖将剔除上一轮已获奖者再进行抽奖。即如果完成14天打卡的用户在14天打卡抽奖轮次中未中奖,在7天或3天打卡抽奖中可能会中奖,同理7天打卡用户也是哦!抽奖资格名单详见公示帖:【打卡信息公布】14天代码重构课程打卡名单公示 奖品及中奖概率:(1)完成第1天打卡,每人可获得500码豆,码豆最多发放20万,数量有限先到先得。(2)连续完成3天打卡可获得抽奖机会,奖品为三合一数据线,奖品数量上限为30份,中奖概率(≤100%)为“30/完成连续打卡3天任务的总人数”。(3)连续完成7天打卡可获得抽奖机会,奖品为手持风扇,奖品数量上限为10份,中奖概率(≤100%)为“10/完成连续打卡7天任务的总人数”。(4)连续完成14天打卡可获得抽奖机会,奖品为华为智选 海雀AI全景摄像头,奖品数量上限为3份,中奖概率(≤100%)为“3/完成连续打卡14天任务的总人数”。本次活动幸运奖将采用巨公摇号平台(https://www.jugong.wang/random-portal/)进行抽取,相关奖项将由华为云社区工作人员进行评选,如您对评奖方式有异议,请勿参加本次活动。中奖名单如下:14天代码重构实战营每日打卡中奖用户名单序号论坛昵称微信昵称奖项奖品1yd_250130253你**像谁连续14天打卡中奖华为智选 海雀AI全景摄像头2yd_262803835L** Equinox;连续14天打卡中奖华为智选 海雀AI全景摄像头3iolink1002汪**_^*连续14天打卡中奖华为智选 海雀AI全景摄像头4xiaxy **益连续7天打卡中奖手持风扇5guoky1894159小**连续7天打卡中奖手持风扇6jkzx6181秋*连续7天打卡中奖手持风扇7nukinsan八*连续7天打卡中奖手持风扇8malik程*连续7天打卡中奖手持风扇9guokuiyongq**ngzong连续7天打卡中奖手持风扇10thunder95t**nder95连续7天打卡中奖手持风扇11蓝晶冰玉如**黎不快樂连续7天打卡中奖手持风扇12emptyBoxe**tyBox连续7天打卡中奖手持风扇13zyw13019809851蜜**贝连续7天打卡中奖手持风扇14over_wzl若**连续3天打卡中奖数据线15cloud昵称bbs噫**连续3天打卡中奖数据线16anjianjuguo张**连续3天打卡中奖数据线17夏暖夏*连续3天打卡中奖数据线18@Wu小**连续3天打卡中奖数据线19蓝瘦的蜕变 **的蜕变连续3天打卡中奖数据线20yd_249618787V**tor连续3天打卡中奖数据线21y-wolfandy **连续3天打卡中奖数据线22小糖饼最甜呀小**最甜呀连续3天打卡中奖数据线23yd_292192128s**201连续3天打卡中奖数据线24yd_245482223李**连续3天打卡中奖数据线25sunofprovence麦**斯基连续3天打卡中奖数据线26微笑倾城 **琼连续3天打卡中奖数据线27yiu-pengY** Peng连续3天打卡中奖数据线28Archivez**连续3天打卡中奖数据线29剑雨乞**扎罗之狼连续3天打卡中奖数据线30yd_242852651小*连续3天打卡中奖数据线31yd_219118993A**ition连续3天打卡中奖数据线32jamesricadoj**esricado连续3天打卡中奖数据线33yd_239085618勇**连续3天打卡中奖数据线34yd_296252717M**LIONS连续3天打卡中奖数据线35John2021。**连续3天打卡中奖数据线36liuyan151415787S**shine连续3天打卡中奖数据线37tangd158415252z**ngy连续3天打卡中奖数据线38walkwikiw**k连续3天打卡中奖数据线39ws15041591187爽*连续3天打卡中奖数据线40湬黍湬*连续3天打卡中奖数据线41小小2018@**连续3天打卡中奖数据线42real joj*连续3天打卡中奖数据线43小强鼓掌小**掌连续3天打卡中奖数据线44abcabc敏*连续1天打卡中奖500码豆45Ania小*连续1天打卡中奖500码豆46cftangc**ang连续1天打卡中奖500码豆47HW_fight一**是有24小时的啊连续1天打卡中奖500码豆48i进击的攻城狮肥**连续1天打卡中奖500码豆49UMRD**Kenny_66连续1天打卡中奖500码豆50yc-chen风*连续1天打卡中奖500码豆51yd_223645057 **ranger连续1天打卡中奖500码豆52yd_225846754学*连续1天打卡中奖500码豆53yd_48903315没**出何来收获连续1天打卡中奖500码豆54zekelovez**e连续1天打卡中奖500码豆55氟西汀损**连续1天打卡中奖500码豆56咖啡18源*连续1天打卡中奖500码豆57蜡笔不辣C**tS连续1天打卡中奖500码豆58禄仁恝禄**连续1天打卡中奖500码豆59孙小北孙**连续1天打卡中奖500码豆60这个地方是昵称l**连续1天打卡中奖500码豆61郭kuiyong郭**连续1天打卡中奖500码豆62毛毛猫w**连续1天打卡中奖500码豆63yd_268237893桀**连续1天打卡中奖500码豆64zhengguixiang郑**连续1天打卡中奖500码豆65dyxzhang等**连续1天打卡中奖500码豆66晴空1晴**连续1天打卡中奖500码豆67张辉张**连续1天打卡中奖500码豆68@AA**连续1天打卡中奖500码豆69305佳3**佳连续1天打卡中奖500码豆70Ara~追着风跑**连续1天打卡中奖500码豆71ballew**r连续1天打卡中奖500码豆72CocoLiu2020C**oLiu2020连续1天打卡中奖500码豆73Flyfoodf**food连续1天打卡中奖500码豆74lzhusS**0000连续1天打卡中奖500码豆75testName茶**连续1天打卡中奖500码豆76wq765416999@**连续1天打卡中奖500码豆77x19x**连续1天打卡中奖500码豆78yd_223290172李**连续1天打卡中奖500码豆79yd_228128715静**连续1天打卡中奖500码豆80yd_234565682热**朝阳群众连续1天打卡中奖500码豆81yd_242476272晓**月连续1天打卡中奖500码豆82yd_244993104流**记忆连续1天打卡中奖500码豆83yd_245236253c**n连续1天打卡中奖500码豆84yd_245439936浮**连续1天打卡中奖500码豆85yd_247861458高**C连续1天打卡中奖500码豆86yd_2493474210**连续1天打卡中奖500码豆87yd_259794023小**连续1天打卡中奖500码豆88yd_262076836q**连续1天打卡中奖500码豆89yd_269703752星**背影连续1天打卡中奖500码豆90yd_274792310W**JIANG连续1天打卡中奖500码豆91yd_288144557小**连续1天打卡中奖500码豆92yd_292318528可**连续1天打卡中奖500码豆93yd_296177002落**连续1天打卡中奖500码豆94yuebaoy**bao连续1天打卡中奖500码豆95yuhuashi晴**iddot;莫冰落连续1天打卡中奖500码豆96yzq13516078375郑**连续1天打卡中奖500码豆97禅大师j**sylcljhsdty连续1天打卡中奖500码豆98嘲风S**ler连续1天打卡中奖500码豆99从大数据到人工智能真**连续1天打卡中奖500码豆100胡琦胡**连续1天打卡中奖500码豆101江佐月袁**连续1天打卡中奖500码豆102冷月欧皇l**edwar连续1天打卡中奖500码豆103舍会~你文哥*连续1天打卡中奖500码豆104腾腾**连续1天打卡中奖500码豆105新手上路001自**在轻轻松松的自由呼吸连续1天打卡中奖500码豆恭喜以上开发者,相关获奖名单信息和抽奖过程也可下载附件查看。公示5天,公示期结束后(5月22日)获奖者可在本帖填写奖品邮寄信息收集问卷。如有异议请联系华为云小助手01沟通。活动规则详见:https://bbs.huaweicloud.com/forum/thread-184761-1-1.html
  • [问题求助] Http 和 Https 区别
    Http 和 Https 区别
  • [行业资讯] 物联网卡和普通SIM卡各自有什么不一样的地方?
    物联网卡和普通SIM卡都是运营商发行的,其外表就好比是孪生兄弟一样,许多用户都知道,物联网卡和SIM卡的最大区别就是物理联卡不能打电话和发短信,其实在应用领域中也是相差很远的,普通SIM卡智能用于手机上或者这能手表上,但是物联网卡却可以应用在很多行业和领域中,比如:智能家居,车联网,智能农业,智能抄表,智能安防,智能医疗,共享经济等等。物联网发展迅猛,物联网卡在现在的市场也是相当火爆的,竞争力也是相当的大,也许是发展太迅速,很多人都还没有来得及去熟悉它,导致很多人对物联网卡的理解产生很多误区,目前最大的误区就是物联网卡和普通的流量卡混淆在一起。1、发卡公司和面向的群体:物联网卡是由三大运营商针对企业开发生产的,只面向企业合作,虽然最终有产品用在个人上,但也是统一的管理的;普通流量卡是有各大公司为了满足个人流量需求市场而开发的,面向的是个人使用,但很多公司提供的流量卡都是流量定向的,只适用在公司的产品上,会有限制,如腾讯王卡,定向流量就是用在腾讯的产品上,工行E卡流量用在工行指定的APP上,定向流量以外的就另外收费。2、功能:物联网卡主要针对企业开发生产,主要用来研发开发设备上;而普通流量卡是用于个人手机卡上,使用上网功能。3、卡资费和套餐:物联网卡主要面向企业合作,卡资费和套装相对比较多,可以适合各类企业设备使用,而普通流量卡只是针对一些个人需求和公司定向的产品不一样的套餐,套餐相对比较少。4、使用时间:物联网卡的使用周期是终身受用的;而普通流量卡会随着业务的变更而变更。5、号码:物联网卡是独立的网元,13位数字号码,是运营商的开发的一种比普通卡更高级的卡片;普通卡片则是正常的手机卡11位号码。7、购买方式:普通的手机卡可以直接从三大运营商的营业厅可以购买;物联网卡运营商不直接销售,而是有代理商负责销售推广。8、管理方式:普通手机卡可以充值现在很方便了,通过支付宝,微信或者营业厅都可以缴费,叠加流量包,通过客服可以咨询手机资费使用情况;物联网卡则是通过代理商提供的管理平台进行充值,叠加,查看流量使用情况,(1)个人购买的物联网卡后期管理会很麻烦。企业批量采购物联网卡,能够通过供应商提供的管理平台进行查询或者是充值。个人购买的物联网卡往往面临无处查询和充值的尴尬境地。(2)物联网卡一般都是企业通过营业厅进行批量办理或者是通过供应商批量采购,个人往往通过一些灰色渠道获得,比如说网络,网络上真假难辨这就很容易产生付了钱收不到卡的问题。(3)物联网卡的销售层层代理,代理商鱼龙混杂,个人通过代理商购买物联网卡之后,万一代理商拿钱跑路,物联网卡无法使用造成财产损失。物联网卡和普通流量卡的相同点就是流量比较便宜,是大家都比较喜欢的,因为都是流量多,所以很多人都认为普通的流量卡也是物联网卡。现在大家用手机看视频,看小说都是用手机,都希望手机有无限的流量,而且费用也是要比较低,所以个人认为流量卡就是物联网卡。
  • [交流吐槽] 无法使用https clone代码
    如题,我无法使用https clone我的代码我输入用户名是 tiixab/tiixab密码也是我的登陆密码,但是报错remote: 用户名或密码错误,请输入正确的用户名[账户名/用户名]和密码!remote: 具体可以点击 代码托管首页-设置我的HTTPS密码 查看remote:  如果您设置了凭证管理[credential.helper], 请先清理.我没法重置我的https密码,邮件三天后可用没有十年脑血栓想不出来这种操作好吧
  • [技术干货] BES集成KAE加速器配置
    目录-1 鲲鹏KAE加速 -1.1 BES集成KAE加速器原理 -1.2 BES使用KAE配置说明 -1.2.1 开启https -1.2.2 选择SSL引擎为OpenSSL -1.2.3 KAE安装和配置 -1.2.4 BES配置长连接和短链接 -1.2.5 判断KAE加速器是否生效1  鲲鹏KAE加速      KAE加速引擎是鲲鹏应用使能套件BoostKit的基础加速能力,包含加解密、压缩/解压缩等模块。通过KAE加速HTTPS的RSA握手能大幅提升中间件处理HTTPS连接的性能。在启用KAE硬件license后,BES可以充分发挥硬件加速的能力。1.1  BES集成KAE加速器原理         BES通过JNI方式调用KAE加速库完成HTTPS握手和通信。1.2       BES使用KAE配置说明    1.2.1       开启https      1.2.2       选择SSL引擎为OpenSSL      1.2.3       KAE安装和配置                     KAE安装和配置参考华为云官网:https://support.huaweicloud.com/devg-kunpengaccel/kunpengaccel_16_0007.html                  1.2.4       BES配置长连接和短链接                   长连接:长连接最大请求数配置为-1,表示不限制连接处理的http请求数                 短链接:长连接最大请求数配置为1,表示处理一个请求之后断开连接      1.2.5       判断KAE加速器是否生效cat /sys/class/uacce/hisi_*/attrs/available_instances                    为确保正确使能KAE引擎,压测过程中查看可以查看上述队列数据是否变化,未生效时,全部是256,生效时,有一些变成小于256。 
  • [问题求助] 【香港启德IOC】【ROMA LiveData】函数API中请求第三方https地址不通
    【功能模块】LiveData-->函数API开发【操作步骤&问题现象】在函数API中调用南向系统的接口,请求地址是https的,一直不通原因分析:1.南向系统需要添加ROAM服务白名单,已添加2.请求时需忽略https证书校验,已忽略(https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=180222)请协助排查,13259109371,比较紧急。【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] 【香港启德IOC】【ROMA LiveData】函数API中请求第三方https地址如何忽略证书
    【功能模块】LiveData-->函数API开发【操作步骤&问题现象】我需要在函数API中调用南向系统的接口,请求地址是https的,需要忽略证书校验,请问怎么实现?13259109371【截图信息】【日志信息】(可选,上传日志内容或者附件)