umi

基于STM32的端到端物联网全栈开发一

走远了吗. 提交于 2021-02-04 12:16:38
应用逻辑 MQTT TLS TCP/IP 公有云应用服务器会提供一个 API,1、把数据转到客户自己的应用服务器上。 嵌入式 网站 数据库 阿里云平台汇聚节点端的数据再转发给应用服务器,为了方便各种设备接入,提供不同网络的设备接入方案。例如 2G 3G 4G NB-IoT LoRa 等,来解决异构网络接入管理的痛点。平台还提供多种协议的设备端SDK,目前支持设备以CoAP HTTP MQTT 协议接入。本些列课程会讲解两种方式的MQTT接入阿里云平台。 一个适用于存储和计算资源受限的设备(不带TLS),资源受限的设备使用原生的MQTT客户端接入 ,这里采用的是 Pahoo mqtt 客户端协议栈,由于节点设备存储资源有限,该连接方式不带TLS,数据格式来说,为了传输效率尽量简洁高效,节点和用户服务器端事先约好了数据负载的格式。由IOT平台管理和转发的主题也是事先约好的。 另一种适用于资源相对丰富的节点设备,如果节点端的应用逻辑复杂度到了一定程度,通常会使用RTOS,并基于 Linkkit SDK 这个由阿里云提供给设备厂商的SDK连接到阿里云iot平台,linkkit的信息以及如何使用会在之后介绍。另外,在丰富的设备中安全连接是一个重要的考量。因此在这个场景会支持TLS,还有是在阿里云IOT平台上,我们采用设备管理的高级版(物管理中的物模型),一旦物模型固定了,双方要处理的消息主题

基于react/vue开发一个专属于程序员的朋友圈应用

此生再无相见时 提交于 2021-01-17 20:50:18
前言 今天本来想开源自己写的 CMS 应用的,但是由于五一期间笔者的 mac 电脑突然崩溃了,所有数据无法恢复,导致部分代码丢失,但庆幸的是 cms 的打包文件已上传服务器,感兴趣的朋友可以在文末链接中访问查看。 今天要写的 H5朋友圈 也是基于笔者开发的 cms 搭建的,我将仿照 微信朋友圈 ,带大家一起开发一个能发布动态(包括图片上传)的朋友圈应用。有关服务端部分笔者在本文中不会细讲,后续会在 cms2.0 中详细介绍。 你将收获 使用 umi 快速创建一个H5移动端应用 基于 react-lazy-load 实现图片/内容懒加载 使用 css3 基于图片数量动态改变布局 利用FP创建一个朋友圈form 使用 rc-viewer 查看/旋转/缩放朋友圈图片 基于 axios + formdata 实现文件上传功能 ZXCMS 介绍 应用效果预览 朋友圈列表 查看朋友圈图片 发布动态 正文 在开始文章之前,笔者想先粗略总结一下开发H5移动端应用需要考虑的点。对于任何移动端应用来说,我们都要考虑如下问题: 首屏加载时间 适配问题 页面流畅度 动画性能 交互友好 提供用户反馈 这些不仅仅是前端工程师需要考虑的问题,也是产品经理和交互设计师考虑的范畴。当然还有很多实际的考虑点需要根据自身需求去优化,以上几点大致解决方案如下: 提高首屏加载时间 可以采用 资源懒加载+gzip

Xilinx Kintex-7 FPGA开发板支持接口32位 DDR4 SDRAM

瘦欲@ 提交于 2020-12-06 05:57:28
随着全球首个28nmFPGA的推出,赛灵思为设计人员提供了最广泛的可编程平台,包括新型器件的多功能性。Xilinx Kintex™-7 FPGA的价格性能翻了一番,功耗和成本降低了一半,是当今无线通信等快速增长的应用的明确选择。设计人员可以利用具有卓越性能和连接性的一系列设备,而以前只限于大批量应用。 高度集成的高速连接 Kintex-7 FPGA使设计人员能够构建出色的带宽和12位数字可编程模拟,同时满足成本和功耗要求。前所未有的144GMACS数字信号处理器(DSP)功率使多功能的Kintex-7器件成为便携式超声设备和下一代通信等应用的绝佳选择。Kintex-7FPGA提供800Gbps的峰值串行带宽(全双工),并包括针对当今的分布式基带架构进行了优化的CPRI/OBSAIIP内核(9.8Gbps)。可编程的Kintex-7器件也可以轻松地重新配置为支持LTE,WiMAX和WCDMA等多个空中接口。为了与主机系统接口,Kintex-7FPGA系列为八通道PCIExpress(Gen1/Gen2)提供了内置支持。 UD408G5S1AF 32位 DDR4 SDRAM 是一款可支持用于Kintex-7FPGA开发板中的存储器,并提供送样及测试。UMI UD408G5S1AF 256Mx32 8Gb DDR4 SDRAM的密度8Gb,32M字×32位×8组

Umi + Dva + Antd的React项目实践

旧时模样 提交于 2020-11-24 19:01:41
记录一下最近项目所用到的技术React + Dva + Antd + umi ,以免忘记。之前没有用过它们其中一个,也是慢慢摸索,了解数据整个流程。 先了解下概念 React 不多说,3大框架之一; Dva 是由阿里架构师 sorrycc 带领 team 完成的一套前端框架,在作者的 github 里是这么描述它的:“dva 是 react 和 redux 的最佳实践”。现在已经有了自己的 官网 https://dvajs.com; Antd 是阿里的一套开箱即用的中台前端/设计解决方案,UI框架,官网 http://ant-design.gitee.io/index-cn; umi 是 dva 作者 sorrycc 最近整的新玩意,2018.2.26 发布的 1.0 版本。sorrycc 认为之前 dva 固然好,但还要用户自己引入 UI 工具 antd,打包工具 roadhog,路由 react-router,状态管理器 dva,这些很麻烦,所以弄了这个,官网 https://umijs.org; 在dva中主要分3层,models,services,components,其中models是最重要概念,这里放的是各种数据,与数据交互的应该都是在这里。services是请求后台接口的方法。components是组件了。 services层: export function

基于 HTML5 + WebGL 的 3D 风力发电场

ぐ巨炮叔叔 提交于 2020-11-24 05:00:09
前言 风能是一种开发中的洁净能源,它取之不尽、用之不竭。当然,建风力发电场首先应考虑气象条件和社会自然条件。近年来,我国海上和陆上风电发展迅猛。海水、陆地为我们的风力发电提供了很好地质保障。正是这些场地为我们的风力提供了用之不竭的能源。现在我们正在努力探索这些领域。 本文章实现了风力发电场的整体流程。能让大家能够看到一套完整风力发电预览体系。 需要注意的是,本次项目是使用 Hightopo 的 HT for Web 产品来搭建的。 预览地址: https://hightopo.com/demo/wind-power-station/ 大致流程 下面是整个项目的流程图。我们从首页可以进入到场区分布页面和集控页面。 场区分布页面又包括两个不同的 3D 场景,分别是陆地风机场和海上风机场。点击两个 3D 风机场最终都会进入到 3D 风机场景。 预览效果 首页: 1. 世界地图效果 2. 中国地 图效果 2. 城市地图效果 集控中心页面(没有动画效果): 场区分布页面 (没有动画效果) : 陆地风机场: 海上风机场: 代码实现 我们可以看到,首页的地球有三种视角状态,世界地图、中国地图、城市地图。点击每个状态相机就会转到对应的位置。在这之前我们要先预先存一下对应的 center 和 eye 。 我们最好新建一个 data.js 文件,专门用来提供数据。 相关伪代码如下: // 记录位置

FPGA开发板为什么要使用SDRAM

半世苍凉 提交于 2020-10-12 01:56:04
SDRAM有一个同步接口,在响应控制输入前会等待一个时钟信号,这样就能和计算机的系统总线 同步。时钟被用来驱动一个有限状态机,对进入的指令进行管线(Pipeline)操作。这使得 SDRAM 与没有同步接口的异步DRAM相比,可以有一个更复杂的操作模式。 管线 意味着芯片可以在处理完之前的指令前,接受一个新的指令 。在一个写入的管线 中,写入命令在另一个指令执行完之后可以立刻执行,而不需要等待数据写入存储队列的时间。在一个读取的流水线中,需要的数据 在读取指令发出之后固定数量的时钟频率后到达,而这个等待的过程可以发出其它附加指令。这种延迟被称为等待时间(Latency),在为计算机购买内存时是一个很重要的参数。 SDRAM在计算机中被广泛使用,从起初的SDRAM到之后一代的DDR(或称DDR1),然后是DDR2 和DDR3 进入大众市场,2015年开始DDR4进入消费市场。如UMI型号 UD408G5S1AF的一款8Gb 32位 DDR4 SDRAM,是一款支持使用在英特尔Arria 10 SoC FPGA以及Kintex Ultrascale FPGA中的存储器。 32位 DDR4 SDRAM 非常适合边缘类计算,或对PCB面积有紧凑要求的深度学习计算设备。 英尚微支持32位DDR4 SDRAM送样及测试. 为什么要使用内存控制器? 动态内存的驱动比静态内存的驱动更加复杂..

适用于Xilinx Virtex-7 FPGA开发板的32位DDR4 SDRAM

谁都会走 提交于 2020-08-16 04:26:50
Xilinx Virtex®-7FPGA系列突破了以前的物理极限。超高端带宽和容量的结合可提高系统性能,以满足最复杂的系统要求。毫不妥协的性能是可编程平台的基础,其多功能性可在当今竞争激烈的市场中最大程度地实现差异化。 Virtex-7 FPGA拥有多达96个高级串行收发器,使设计人员能够将突破性的带宽构建到下一代通信解决方案中。Virtex-7 FPGA可提供多达200万个逻辑单元和超过5TMACS DSP的吞吐量。这些资源支持大规模并行数据处理体系结构,这些体系结构在每个时钟周期内执行更多工作。借助多达88个高级串行收发器,Virtex-7 FPGA提供了超过4Tbps的串行带宽。这些功能使高级雷达,高性能计算和高级医学成像系统的处理性能达到了新的水平。 尽管现代FPGA包含着内部存储器,但可用存储器的数量始终比专用存储器芯片的存储器数量级低几个数量级。因此许多的FPGA设计人员在FPGA上附加某种类型的存储器也就不稀奇了。由于其高速和低成本,SDRAM是非常流行的存储器。随着存储器制造商试图找到提高SDRAM速度的方法,DDR SDRAM被引入。DDR代表“双倍数据速率”。它们不像静态存储器那样容易控制,因此经常使用SDRAM控制器。 UMI UD408G5S1AF 256Mx32 8Gb 32位 DDR4 SDRAM 则是目前适合使用于Virtex-7

springBoot使用freemarker生成html页面

走远了吗. 提交于 2020-08-16 02:49:23
背景:服务端有一个壳页面入口,页面包含了可简单的文件引用,静态文件的CDN域名(区分环境)、文件版本号(可能变更) 比如: test环境:<script src="//s1.test.xxcdn.com/xxx/dist/umi.js?v=1.0.1"></script> prod环境:<script src="//s1.prod.xxcdn.com/xxx/dist/umi.js?v=1.0.2"></script> 目标:最简单的方式给前端一个页面,同时,页面中的静态文件域名、版本号可作为参数,从后端写入页面; 方案:使用freemarker模板引擎 前提:springboot类型的应用 操作步骤: 第一步:引入freemarker模板引擎的jar <!-- freemarker模板引擎 --> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.30</version><!-- 用最新的版本号 --> </dependency> 第二步:增加freemarker配置(application.yml),这里只有必要的配置 spring: freemarker: cache: false #是否需要缓存页面,因为版本号需要修改,所以,不能缓存

字节跳动副总裁、AI Lab负责人马维英宣布离职,加入清华大学

假如想象 提交于 2020-08-15 06:23:26
  机器之心报道    参与:泽南、张倩   科技公司 AI Lab 大潮正在褪去?   据多方消息确认,字节跳动副总裁、人工智能实验室主任马维英已宣布即将离职。他将赴清华大学智能产业研究院任职,加入正在筹备该产业院的原百度总裁张亚勤团队。   对此,字节跳动方面回复机器之心说:「根据自己的兴趣,马维英选择到清华大学从事人才培养和科研相关工作,他同时还会继续担任字节跳动技术顾问。」      马维英曾在世界级会议和学报上发表过数百篇论文,拥有一百多项技术专利,2010 年被评选为 ACM 杰出会员(ACM Distinguished Member),2011 年入选 IEEE Fellow。      在 Guide2Research 发布的 2020 全球顶尖计算机科学家排名中,马维英位居中国大陆第二位,仅次于源码资本投资合伙人张宏江。      AI 工程化难题是一个讨论已久的问题,包括场景碎片化、应用成本高、稳定性差、可解释性差等。有人认为,这些原因加速了 AI 顶级研究者从业界到学界的回流。    被张一鸣「杀鸡用牛刀」触动,加盟字节跳动   马维英 1990 年毕业于台湾国立清华大学电气工程系,1994 年和 1997 年分别获美国加州大学圣芭芭拉分校(UCSB)电气和计算机工程系硕士和博士学位。攻读博士学位期间,马维英负责开发的互联网图像检索系统 Netra

FPGA开发板内部ram操作

落花浮王杯 提交于 2020-08-11 13:11:51
从芯片器件的角度讲,FPGA本身构成了半定制电路中的典型集成电路,其中含有数字管理模块、内嵌式单元、输出单元以及输入单元等。关于FPGA芯片有必要全面着眼于综合性的芯片优化设计,通过改进当前的芯片设计来增设全新的芯片功能,据此实现了芯片整体构造的简化与性能提升。下面英尚微电子介绍FPGA开发板内部ram是如何操作的。 除逻辑外,所有新的FPGA都有专用的静态 ram 块,这些块在逻辑元素之间分布并由逻辑元素控制。 内部RAM操作 有许多参数会影响RAM操作。主要参数是可以同时访问RAM的代理数。 “单端口”RAM:只有一个代理可以读取/写入RAM。 “双端口”或“四端口”RAM:2个或4个代理可以读取/写入。非常适合跨时钟域获取数据(每个代理可以使用不同的时钟)。 这是双端口RAM的简化图。 要弄清楚有多少代理可用,请计算进入RAM的单独地址总线的数量。每个代理都有专用的地址总线。每个代理还具有读取和/或写入数据总线。 写入RAM通常是同步完成的。阅读通常是同步进行的,但有时可以异步进行。 Blockram与分布式RAM 现在,FPGA中有两种内部RAM:Blockrams和分布式RAM。通常需要的RAM大小决定使用哪种类型。 大的RAM块是Blockram,它们位于FPGA的专用区域中。每个FPGA都有有限数量的这些,如果不使用它们,则会“松开”它们(除了RAM之外