云平台 订阅
云计算平台也称为云平台,是指基于硬件资源和软件资源的服务,提供计算、网络和存储能力。云计算平台可以划分为3类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台。 展开全文
云计算平台也称为云平台,是指基于硬件资源和软件资源的服务,提供计算、网络和存储能力。云计算平台可以划分为3类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台。
信息
有关术语
云计算
别    名
云平台
分    类
以数据存储为主、数据处理为主等
中文名
云计算平台
外文名
Cloud Computing Platform
领    域
计算机科学
云计算平台特征
云平台一般具备如下特征:硬件管理对使用者/购买者高度抽象:用户根本不知道数据是在位于哪里的哪几台机器处理的,也不知道是怎样处理的,当用户需要某种应用时,用户向“云”发出指示,很短时间内,结果就呈现在他的屏幕上。云计算分布式的资源向用户隐藏了实现细节,并最终以整体的形式呈现给用户。使用者/购买者对基础设施的投入被转换为OPEX(Operating Expense,即运营成本):企业和机构不再需要规划属于自己的数据中心,也不需要将精力耗费在与自己主营业务无关的IT管理上。他们只需要向“云”发出指示,就可以得到不同程度、不同类型的信息服务。节省下来的时间、精力、金钱,就都可以投入到企业的运营中去了。对于个人用户而言,也不再需要投入大量费用购买软件,云中的服务已经提供了他所需要的功能,任何困难都可以解决。基础设施的能力具备高度的弹性(增和减):可以根据需要进行动态扩展和配置。云计算平台可以大致分为以下3类:1、以数据存储为主的存储型云平台;2、以数据处理为主的计算型云平台;3、计算和数据存储处理兼顾的综合云计算平台。
收起全文
精华内容
下载资源
问答
  • 2022-02-11 17:43:07

    需求

    我们在平时的物联网开发中,往往需要用到云平台来收发数据。而光有云平台往往是不行的,我们还需要有上位机。那么怎样通过上位机连接到云平台,并且收发数据呢?本文将介绍如何通过C#编写的上位机和华为云平台通过物联网最常用MQTT协议进行连接并收发数据。介绍设备通MQTTS/MQTT协议接入平台,通过平台接口实现“数据上报”、“命令下发”的功能。

    前期准备

    1. VS2019
    2. 华为云平台

    具体设计

    代码目录简述:

    1. App.config:Server地址和设备信息配置文件
    2. C#:项目C#代码;
    3. EncryptUtil.cs:设备密钥加密辅助类;
    4. FrmMqttDemo.cs:窗体界面;
    5. Program.cs:Demo程序启动入口。
    6. dll:项目中使用到了第三方库
    7. MQTTnet:v3.0.11,是一个基于 MQTT 通信的高性能 .NET 开源库,它同时支持MQTT 服务器端和客户端,引用库文件包含MQTTnet.dll。
    8. MQTTnet.Extensions.ManagedClient:v3.0.11,这是一个扩展库,它使用MQTTnet为托管MQTT客户机提供附加功能。

    工程配置参数

    App.config:需要配置服务器地址、设备ID和设备密钥,用于启动Demo程序的时
    候,程序将此信息自动写到Demo主界面。

    <add key="serverUri" value="serveruri"/>
    <add key="deviceId" value="deviceid"/>
    <add key="deviceSecret" value="secret"/>
    <add key="PortIsSsl" value="8883"/>
    <add key="PortNotSsl" value="1883"/>
    

    具体程序

    App.config

    本文件中存放的是Server地址和设备信息配置文件,我们每个人的程序主要的不同就是这个文件,虽然后面也可以在运行的时候改,但最好提前写入。

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <configSections>
        </configSections>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
        </startup>
        <appSettings>
          <add key="serverUri" value="iot-mqtts.cn-north-4.myhuaweicloud.com"/>
          <add key="deviceId" value="自己的设备ID"/>
          <add key="deviceSecret" value="自己的设备密钥"/>
          <add key="portIsSsl" value="8883"/>
          <add key="portNotSsl" value="1883"/>
          <add key="language" value="zh-CN"/>
      </appSettings>
    </configuration>
    
    

    我们将自己的自己的设备ID和自己的设备密钥填入其中,选择相应的语言,最好填中文,毕竟看的方便。

    主程序

    连接服务器

    				try
                {
                    int portIsSsl = int.Parse(ConfigurationManager.AppSettings["portIsSsl"]);
                    int portNotSsl = int.Parse(ConfigurationManager.AppSettings["portNotSsl"]);
    
                    if (client == null)
                    {
                        client = new MqttFactory().CreateManagedMqttClient();
                    }
    
                    string timestamp = DateTime.Now.ToString("yyyyMMddHH");
                    string clientID = txtDeviceId.Text + "_0_0_" + timestamp;
    
                    // 对密码进行HmacSHA256加密
                    string secret = string.Empty;
                    if (!string.IsNullOrEmpty(txtDeviceSecret.Text))
                    {
                        secret = EncryptUtil.HmacSHA256(txtDeviceSecret.Text, timestamp);
                    }
    
                    // 判断是否为安全连接
                    if (!cbSSLConnect.Checked)
                    {
                        options = new ManagedMqttClientOptionsBuilder()
                        .WithAutoReconnectDelay(TimeSpan.FromSeconds(RECONNECT_TIME))
                        .WithClientOptions(new MqttClientOptionsBuilder()
                            .WithTcpServer(txtServerUri.Text, portNotSsl)
                            .WithCommunicationTimeout(TimeSpan.FromSeconds(DEFAULT_CONNECT_TIMEOUT))
                            .WithCredentials(txtDeviceId.Text, secret)
                            .WithClientId(clientID)
                            .WithKeepAlivePeriod(TimeSpan.FromSeconds(DEFAULT_KEEPLIVE))
                            .WithCleanSession(false)
                            .WithProtocolVersion(MqttProtocolVersion.V311)
                            .Build())
                        .Build();
                    }
                    else
                    {
                        string caCertPath = Environment.CurrentDirectory + @"\certificate\rootcert.pem";
                        X509Certificate2 crt = new X509Certificate2(caCertPath);
    
                        options = new ManagedMqttClientOptionsBuilder()
                        .WithAutoReconnectDelay(TimeSpan.FromSeconds(RECONNECT_TIME))
                        .WithClientOptions(new MqttClientOptionsBuilder()
                            .WithTcpServer(txtServerUri.Text, portIsSsl)
                            .WithCommunicationTimeout(TimeSpan.FromSeconds(DEFAULT_CONNECT_TIMEOUT))
                            .WithCredentials(txtDeviceId.Text, secret)
                            .WithClientId(clientID)
                            .WithKeepAlivePeriod(TimeSpan.FromSeconds(DEFAULT_KEEPLIVE))
                            .WithCleanSession(false)
                            .WithTls(new MqttClientOptionsBuilderTlsParameters()
                            {
                                AllowUntrustedCertificates = true,
                                UseTls = true,
                                Certificates = new List<X509Certificate> { crt },
                                CertificateValidationHandler = delegate { return true; },
                                IgnoreCertificateChainErrors = false,
                                IgnoreCertificateRevocationErrors = false
                            })
                            .WithProtocolVersion(MqttProtocolVersion.V311)
                            .Build())
                        .Build();
                    }
    
                    Invoke((new Action(() =>
                    {
                        ShowLogs($"{"try to connect to server " + txtServerUri.Text}{Environment.NewLine}");
                    })));
    
                    if (client.IsStarted)
                    {
                        await client.StopAsync();
                    }
    
                    // 注册事件
                    client.ApplicationMessageProcessedHandler = new ApplicationMessageProcessedHandlerDelegate(new Action<ApplicationMessageProcessedEventArgs>(ApplicationMessageProcessedHandlerMethod)); // 消息发布回调
    
                    client.ApplicationMessageReceivedHandler = new MqttApplicationMessageReceivedHandlerDelegate(new Action<MqttApplicationMessageReceivedEventArgs>(MqttApplicationMessageReceived)); // 命令下发回调
    
                    client.ConnectedHandler = new MqttClientConnectedHandlerDelegate(new Action<MqttClientConnectedEventArgs>(OnMqttClientConnected)); // 连接成功回调
    
                    client.DisconnectedHandler = new MqttClientDisconnectedHandlerDelegate(new Action<MqttClientDisconnectedEventArgs>(OnMqttClientDisconnected)); // 连接断开回调
    
                    // 连接平台设备
                    await client.StartAsync(options);
    
                }
                catch (Exception ex)
                {
                    Invoke((new Action(() =>
                    {
                        ShowLogs($"connect to mqtt server fail" + Environment.NewLine);
                    })));
                }
    

    接收到消息

    Invoke((new Action(() =>
                {
                    ShowLogs($"received message is {Encoding.UTF8.GetString(e.ApplicationMessage.Payload)}{Environment.NewLine}");
    
                    string msg = "{\"result_code\": 0,\"response_name\": \"COMMAND_RESPONSE\",\"paras\": {\"result\": \"success\"}}";
    
                    string topic = "$oc/devices/" + txtDeviceId.Text + "/sys/commands/response/request_id=" + e.ApplicationMessage.Topic.Split('=')[1];
    
                    ShowLogs($"{"response message msg = " + msg}{Environment.NewLine}");
                    
                    var appMsg = new MqttApplicationMessage();
                    appMsg.Payload = Encoding.UTF8.GetBytes(msg);
                    appMsg.Topic = topic;
                    appMsg.QualityOfServiceLevel = int.Parse(cbOosSelect.SelectedValue.ToString()) == 0 ? MqttQualityOfServiceLevel.AtMostOnce : MqttQualityOfServiceLevel.AtLeastOnce;
                    appMsg.Retain = false;
    
                    // 上行响应
                    client.PublishAsync(appMsg).Wait();
                })));
    

    消息发布回调

     try
                {
                    if (e.HasFailed)
                    {
                        Invoke((new Action(() =>
                        {
                            ShowLogs("publish messageId is " + e.ApplicationMessage.Id + ", topic: " + e.ApplicationMessage.ApplicationMessage.Topic + ", payload: " + Encoding.UTF8.GetString(e.ApplicationMessage.ApplicationMessage.Payload) + " is published fail");
                        })));
                    }
                    else if (e.HasSucceeded)
                    {
                        Invoke((new Action(() =>
                        {
                            ShowLogs("publish messageId " + e.ApplicationMessage.Id + ", topic: " + e.ApplicationMessage.ApplicationMessage.Topic + ", payload: " + Encoding.UTF8.GetString(e.ApplicationMessage.ApplicationMessage.Payload) + " is published success");
                        })));
                    }
                }
                catch (Exception ex)
                {
                    Invoke((new Action(() =>
                    {
                        ShowLogs("mqtt demo message publish error: " + ex.Message + Environment.NewLine);
                    })));
                }
    

    服务器连接成功

            Invoke((new Action(() =>
            {
                ShowLogs("connect to mqtt server success, deviceId is " + txtDeviceId.Text + Environment.NewLine);
    
                btnConnect.Enabled = false;
                btnDisconnect.Enabled = true;
                btnPublish.Enabled = true;
                btnSubscribe.Enabled = true;
            })));
    

    断开服务器连接

            try {
                Invoke((new Action(() =>
                {
                    ShowLogs("mqtt server is disconnected" + Environment.NewLine);
    
                    txtSubTopic.Enabled = true;
                    btnConnect.Enabled = true;
                    btnDisconnect.Enabled = false;
                    btnPublish.Enabled = false;
                    btnSubscribe.Enabled = false;
                })));
                
                if (cbReconnect.Checked)
                {
                    Invoke((new Action(() =>
                    {
                        ShowLogs("reconnect is starting" + Environment.NewLine);
                    })));
    
                    //退避重连
                    int lowBound = (int)(defaultBackoff * 0.8);
                    int highBound = (int)(defaultBackoff * 1.2);
                    long randomBackOff = random.Next(highBound - lowBound);
                    long backOffWithJitter = (int)(Math.Pow(2.0, retryTimes)) * (randomBackOff + lowBound);
                    long waitTImeUtilNextRetry = (int)(minBackoff + backOffWithJitter) > maxBackoff ? maxBackoff : (minBackoff + backOffWithJitter);
    
                    Invoke((new Action(() =>
                    {
                        ShowLogs("next retry time: " + waitTImeUtilNextRetry + Environment.NewLine);
                    })));
    
                    Thread.Sleep((int)waitTImeUtilNextRetry);
    
                    retryTimes++;
    
                    Task.Run(async () => { await ConnectMqttServerAsync(); });
                }
            }
            catch (Exception ex)
            {
                Invoke((new Action(() =>
                {
                    ShowLogs("mqtt demo error: " + ex.Message + Environment.NewLine);
                })));
            }
    

    格式

    设备端上传到云平台
    Topic:$oc/devices/{device_id}/sys/properties/report
    数据格式:

    数据格式:  
    {
        "services": [{
                "service_id": "Temperature",
                "properties": {
                    "smoke": 57,
                    "temperature": 60,
                    "humidity":78.37673
                },
                "event_time": "20151212T121212Z"
            }
        ]
    }
    
    

    运行界面


    当我发送如下数据时:

    {
        "services": [{
                "service_id": "BS",
                "properties": {
                    "smoke": 57,
                    "temperature": 60,
                    "humidity":78.37673
                },
                "event_time": "20151212T121212Z"
            }
        ]
    }
    

    后续

    欢迎关注我的毕业设计专栏
    关注微信公众号,发送“C#连接华为云平台”获取源码。
    在这里插入图片描述

    编写不易,感谢支持。

    更多相关内容
  • 云平台技术指标

    2018-04-06 23:11:13
    云平台技术指标,包括主机、网络、安全、监控、数据等多方面。
  • 云平台架构设计图,有需要的可以下载看看。主要是功能的组成及分层,正常的云平台架构设计。 有需要的,欢迎各位下载,做个参考,资源分也不多
  • 云平台建设方案

    2017-10-29 17:08:32
    云平台建设方案,详细说明了云平台建设过程的问题,可以提供参考。
  • 私有云平台, 简称私有云,顾名思义就是私人的云平台, 一般是企业自行搭建, 提供给企业内部去使用.如, 各个业务部门 或者各个项目组作为客户, 从平台上购买资源,或者申请资源去使用,费用一般企业内部结算。 是一种...

    云平台的基础概念

    1.1 前言

    随着云计算概念的不断落地和推广, 目前云平台已经得到了非常广泛的使用.

    云平台帮助用户在:

    • 应用落地
    • 服务落地
    • 安全保障
    • 性能

    等方面获得比传统方式更高效, 更节省, 更稳定, 更方便的优势.

    1.2 云平台的概念

    云平台也称云计算平台. 云计算, 顾名思义, 就是将计算在云上运行.

    那么在这里面的3个概念

    • 云: 通俗的理解就是远程计算机, 并且是一组 一堆, 这些远程计算机协同工作构建出一个平台,对用户提供服务
    • 计算:这是一个概念很大的名词,小了说可以认为是对业务数据进行计算分析的算力,不过通俗意义上,计算是指构建业务系统的各种需求
    • 平台:将云(远程硬件资源)和计算(远程软件资源)组合在一起,就形成了一个平台,对用户提供各种各样的服务。

    我们可以这样理解: 云平台 就是 一个云上的平台, 为用户提供各种各样的 远程服务

    在这里插入图片描述

    举个例子:

    现在有一个 人力外包中心, 其内部有非常多的人力资源可供客户购买使用.

    那么有一个客户, 从人力资源外包公司, 花钱雇10个人干活, 发现效率不行又雇了100个一起干活, 最终活儿按时完成.

    在这里插入图片描述

    那么, 上述例子就是对云平台的一种模拟.

    人力资源中心 提供的是服务, 提供的是资源, 客户只需要按量购买即可.

    在例子中, 客户如果不使用人力资源中心 就需要自己招聘相应的员工, 签订劳务合同, 让自己的员工去为自己服务.

    但是, 如果需求结束了, 员工又不能随意辞退, 那么这些员工就相当于资源闲置了.

    人力资源中心 就是提供了 资源 供客户使用, 按需求 按用量付费即可, 用完即停止. 对客户来说资源没有闲置.

    PS: 现在很多软件人力外包, 就是这样的思路.

    很多甲方公司, 不愿意招聘正式员工, 仅仅某个项目需求人手, 就从外包公司招人来做, 项目完成, 人员也就遣返回外包公司了. 甲方按人数和时间给外包公司付款.

    回到计算机的世界中

    云平台提供的就是 计算的资源.

    那么计算的资源主要有:

    • 硬件资源: 主要指服务器 交换机 磁盘 GPU等硬件资源
    • 软件资源: 主要指 各种软件工具域名服务 虚拟内网 数据库软件 等.

    云平台为客户提供了 一站式的解决方案.

    客户可以没有任何一台服务器 同样可以搭建起来自己的业务.

    业务 就运行在云平台之上.

    在这里插入图片描述

    通俗的理解, 使用了云平台之后, 客户就不需要自行搭建机房了, 不需要自购服务器了.

    服务器等硬件资源 从云平台购买使用即可.

    并且因为云平台上的资源是很多的, 如果客户觉得资源不足, 可以追加购买. 如果觉得资源过多, 可以减少购买. 灵活方便.

    毕竟, 自建机房成本很高, 并且服务器等硬件购买是一次性.

    买回来发现用不到,造成资源的闲置 也是无可避免.

    特别是某些业务突增的需求, 导致资源紧张, 临时加了N台服务器.

    等到业务下降的时候, 这么多追加的服务器的资源就闲置了.

    消费者还能在闲鱼让闲置游起来. 但是服务器领域…就算也能各种二手倒腾, 在机房频繁的上架下架 也是很繁琐的. 特别是运维同学, 估计要打人…

    1.3 云平台的分类

    云平台主要有 2大类, 分别是:

    私有云平台

    私有云平台, 简称私有云

    顾名思义就是私人的云平台, 一般是企业自行搭建, 提供给企业内部去使用.

    如, 各个业务部门 或者各个项目组作为客户, 从平台上购买资源,或者申请资源去使用,费用一般企业内部结算。

    是一种提高企业内 资源利用率的手段,同时,基于云平台上提供的各种服务,也方便企业内部的开发。

    但对于企业本身来说, 其硬件资源是自行组建的.(如 自建机房 自购服务器等)

    公有云平台

    公有云平台就是提供给大众使用的云平台.

    任何人 或者任何企业 均可以在公有云平台内去 购买 申请 相应的资源.

    对于公有云平台的提供商来说, 其本身的硬件资源是自行组建的(如自建机房, 自购服务器, 搭建数据中心)

    1.4 主流公有云平台

    提供公有云服务的平台有许多, 我们来列举一下(顺序不代表排名):

    • AWS: Amazon web service: 是亚马逊提供的一个公有云平台. 也是最早提供云平台服务的一批企业. 也是目前全球公有云的龙头标杆. 在全球市场占有率处于领先地位. 就如苹果带领手机的发展方向一样, AWS目前处于引领云平台发展方向的地位.
    • Azure: 微软提供的一个公有云平台. 市场占有率一般, 目前处于上升期.
    • GCP: Google cloud paltform: 谷歌提供的云平台, 占有率还行, 也是处于上升期.
    • 阿里云: 阿里提供的云平台, 在国内市场很强势. 处于No.1地位, 在国际上占有率一般, 处于上升期.
    • 腾讯云: 腾讯提供的云平台, 国内占有率还行, 价格便宜, 目前正在大片的抢占市场.
    • 京东云 \ 金山云 \ 时速云 : 占有率比较低. 处于下层梯队.

    1.5 云的三种服务

    PaaS SaaS IaaS

    IaaS

    Infrastructure as a Service: 基础设施即服务, 是指把IT基础设施作为服务提供

    • VPS:virtual private server
    • 网络带宽
    • VPC:virtual private cloud(大公有云内的小私有云,就是一个云上的私有内网)

    PaaS

    Platform as a Service : 平台即服务.是指将平台作为一种服务对外提供. 那么我们要学习的云平台, 就是一种PaaS服务. 其他还有如

    • 腾讯地图开发平台
    • 小程序开发平台
    • 分布式文件存储平台
    • 分布式缓存服务平台

    SaaS

    Software as a Service: 软件即服务, 是指将软件作为一种服务对外提供.

    • 云上数据库
    • 云上NoSQL
    • 云上消息队列
    • 域名服务
    • DNS服务

    在这里插入图片描述

    那么我们理解, 阿里云是一个PaaS平台, 提供IaaSSaaS服务.

    展开全文
  • 第2步:在阿里云平台注册用户 第3步:账号充值 3.1 充值 3.2 收费标准 第4步:购买并启动1个PasS服务器 4.1ECS服务器关键信息介绍 4.2 创建一个ECS服务器实例 第5步:设置单机服务器公网地址与对外可访问端口...

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

    本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122644969


    目录

    前言:

    第1步:安装本地的远程终端连接工具

    第2步:在阿里云平台注册用户

    第3步:账号充值

    3.1 充值

     3.2 收费标准

    第4步:购买并启动1个PasS服务器

    4.1 ECS服务器关键信息介绍

    4.2 创建一个ECS服务器实例

    第5步:设置单机服务器公网地址与对外可访问端口

    第6步:创建专有网络VPC和以太网交换机(局域网)

    第8步:指派服务器VPC网络中的部署

    第9步:释放ECS服务器


    前言:

    目的:在阿里云平台上购买并快速搭建服务器集群。

    架构:

    第1步:安装本地的远程终端连接工具

    各类远程工具对比_gsls200808的专栏-CSDN博客_远程终端工具

    第2步:在阿里云平台注册用户

    阿里云-上云就上阿里云

    (1)可以通过淘宝、支付宝、邮箱注册

    (2)注册后最好能进行实名验证

    备注:

    注册成功后,属于新用户,在购买产品是,享有不少优惠条件。

    由于目前,还不确认个人需要购买多少台服务器,多长时间?需要多少资源,因此暂时不购买任何新人优惠的产品。一旦购买了,不丧失新用户身份,后续不能享受新用户优惠服务。

    等明确了个人的长期需求,就可以使用新人身份购买相关的产品。

    后续的实验:

    (1)即用即申请

    (2)使用完即释放

    (3)皆采用临时充值,不享受新人服务的方式进行。

    上述方式,总体费用低,100或200块,如果按照上述的方式做实验,会使用非常长的时间。

    第3步:账号充值

    3.1 充值

    充值的目的是临时申请资源,不如临时搭建一个服务器集群,用完即释放的场合。

    只有先在阿里云充值后,才能购买资源,创建服务器。

    充值的最低条件是100块,可以先冲100。

     3.2 收费标准

    收费标准:每个购买的PaaS服务器,称为一个实例,一个实例,代表购买的计算机资源,这些资源可以随时释放,释放后,归还给云平台,用户就不需要继续支付费用,只有占有这些资源时,才需要计费。

    资源类型:instance代表的整个计算机资源,而计费并不是按照计算机收费的,而是按照实际资源的暂用情况收费的,这些收费的资源包括:

    • CPU资源、内存资源 :开机收费,关机不收费:
    • 硬盘资源:关机也收费,之后删除instance才不收费
    • 私有IP地址:不收费。
    • 公网IP地址资源:机器重启后,会重新分配IP地址,如果需要保留永久IP地址,需要单独收费。共有IP地址本身也是额外收费的。
    • 域名资源:可以永久不留
    • 公网的网络带宽资源:实际流量收费或包月收费。

    也就是说,上述资源时单独收费的。

    第4步:购买并启动1个PasS服务器

    购买类型:PaaS服务,购买的是按照好操作系统(这里是Linux操作系统)和中间件的虚拟计算机。

    4.1 ECS服务器关键信息介绍

    什么是云服务器ECS - 云服务器 ECS - 阿里云

    (1)为什么需要ECS

    • 无需自建机房,无需采购以及配置硬件设施。
    • 分钟级交付,快速部署,缩短应用上线周期
    • 提供GPUFPGA等异构计算服务器、弹性裸金属服务器以及通用的x86、ARM架构服务器。
    • 提供虚拟防火墙、角色权限控制、内网隔离、防病毒攻击及流量监控等多重安全方案。

    (2)产品架构:

    • 实例:等同于一台虚拟服务器内含CPU、内存、操作系统、网络配置、磁盘等基础的组件。实例的计算性能、内存性能和适用业务场景由实例规格决定,其具体性能指标包括实例vCPU核数、内存大小、网络性能等。
    • 镜像:提供实例的操作系统、初始化应用数据及预装的软件。操作系统支持多种Linux发行版和多种Windows Server版本。
    • 快照:某一时间点一块云盘的数据状态文件。常用于数据备份、数据恢复和制作自定义镜像等。
    • 安全组:由同一地域内具有相同保护需求并相互信任的实例组成,是一种虚拟防火墙,用于设置实例的网络访问控制。
    • 网络
      • 专有网络(Virtual Private Cloud):逻辑上彻底隔离的云上私有网络。您可以自行分配私网IP地址范围、配置路由表和网关等。
      • 经典网络:所有经典网络类型实例都建立在一个共用的基础网络上。由阿里云统一规划和管理网络配置。

    (3)收费

    云服务器ECS的资源中,计算资源(vCPU和内存)、镜像、块存储、公网带宽、快照等资源涉及计费。常见的计费方式包括:

    • 包年包月:按一定时长购买资源,先付费后使用。(适合长期需求,一次性费用高)
    • 按量付费:按需开通和释放资源,先使用后付费。(适合临时需求,一次性费用低)

    本文选择按量付费。

     (4)管理工具

    通过注册阿里云账号,您可以在任何地域下,通过阿里云提供的以下途径创建、使用或者释放云服务器ECS:

    • ECS管理控制台:具有交互式操作的Web服务页面。关于管理控制台的操作,请参见常用操作导航
    • ECS API:支持GET和POST请求的RPC风格API。关于API说明,请参见API参考。以下为调用云服务器ECS API的常用开发者工具:
      • 命令行工具CLI:基于阿里云API建立的灵活且易于扩展的管理工具。您可基于命令行工具封装阿里云的原生API,扩展出您需要的功能。
      • OpenAPI开发者门户:提供快速检索接口、在线调用API和动态生成SDK示例代码等服务。
      • 阿里云SDK:提供Java、Python、PHP等多种编程语言的SDK。
    • 资源编排(Resource Orchestration Service):通过创建一个描述您所需的所有阿里云资源的模板,然后资源编排将根据模板,自动创建和配置资源。
    • 运维编排服务(Operation Orchestration Service):自动化管理和执行运维任务。您可以在执行模板中定义执行任务、执行顺序、执行输入和输出等,通过执行模板达到自动化完成运维任务的目的。
    • Terraform:能够通过配置文件在阿里云以及其他支持Terraform的云商平台调用计算资源,并对其进行版本控制的开源工具。
    • 阿里云App:移动端类型的管理工具。
    • Alibaba Cloud Toolkit:阿里云针对IDE平台为开发者提供的一款插件,用于帮助您高效开发并部署适合在云端运行的应用。

    4.2 创建一个ECS服务器实例

    步骤(1)控制台入口

    步骤(2)选择直接购买,不用免费试用

    步骤(3)创建ECS服务器实例入口

    步骤(4)基本配置

    • 付费模式:按量计费,比按月计费费用低
    • 地区:交换机和服务必须在同一个地区
    • CPU个数与内存大小
    • CPU的架构:X86, ARM, 
    • CPU的分类:通用、共享.....
    • 操作系统镜像以及版本:有windows,Linux....
    • 硬盘存储:默认40G
    • 快照备份:额外收费

    步骤(5):网络与安全组

    • 专有网络:使用预先定义的专有网络或默认的专有网络
    • 公网IP:用于远程访问该新创建的服务器
    • 公网数据计费方式:包月或按流量计算
    • 公网数据最大带宽:防止远程攻击,造成大量费用
    • 安全组:定义哪些端口可以通过公网远程访问
    • 交换机:该服务器部署在哪个虚拟交换机下

    步骤(6):系统设置

    • 选择自定义密码远程访问,而不是密钥对
    • 设置主机名

    步骤(7):分组设置

    • 标签设置统一标签

    步骤(8):确认订单

    检查购买服务器的配置和个数

    步骤(9):创建实例

     

     (10)获得私网和公网IP地址

    私网IP地址用于同一个专有网络内部设备通信。

    共有IP地址用于互联网外部用户访问该服务

    (11)确认公网IP是否可达

    用自己的主机ping 新创建的服务器的IP地址

    ping 106.14.75.151

    (12)通过远程访问工具+用户+密码远程登录到新创建的服务器

    ssh 106.14.75.151

    如下是远程ssh登录后的shell界面和目标系统文件系统信息。

    (13)直接通过网页进行远程登录

    (14)通过局域网访问同一个局域网中的另一个服务器

     登录到远程服务器之后,直接ping私网地址:

     ping 192.168.2.238
     ping 192.168.2.237

    第5步:设置单机服务器公网地址与对外可访问端口

    (1)选择某一个服务器入口

     (2)TCP/UDP端口设置

     在这里,可以增加和删除特定的端口,也可以指定端口范围。

    只有被开放的端口,才能通过公网访问。默认的端口有ssh 222端口,http 80端口。

    如果有使用其他端口的应用, 需要在这里进行远程接入的授权。

    至此,已经创建了两个服务器,这两个服务器都在系统默认的专有网络中,在同一个局域网中。

    下面,看看如何创建多个自定义专有网络以及通过专有网络连接服务器集群。

    第6步:创建专有网络VPC和以太网交换机(局域网)

    (1)网络架构

    (2)入口

    (3)创建专有网络VPC 

    • 名称
    • IP地址网段
    • 多个虚拟以太网交换机,每个以太网交换机占用VPC网络的一个子网。
    • 交换机子网与交换机子网,通过VPC进行路由

    (4)创建以太网交换机

    • 名称
    • 子网段

    第8步:指派服务器VPC网络中的部署

    (1)方法1:在创建服务器时候指派VPC网络

    (2)方法2: 在VPC网络中指派ECS服务器

    第9步:释放ECS服务器

    (1)重启机器

    • 继续收费

    (2)停止机器:

    • CPU、内存、公网IP地址等停止收费
    • 硬盘(数据和操作系统):继续收费。
    • 可以启动机器,公网IP地址可能会发生变化

    (3)删除机器

    • CPU、内存、公网IP地址等停止收费
    • 硬盘(数据和操作系统):停止收费
    • 无法重启,需要重新创建ECS服务器

     至此,所有服务全部释放,包括存放在硬盘上的数据。

    (4)删除交换机

    (5)删除安全组

    (6)删除VPC网络


    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

    本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122644969


    展开全文
  • 通过阿里云物联网平台,我们可以在不懂前后端开发的基础上,半个小时候左右就可以搭建一个智慧农业的物联网云平台框架。 效果如下: 大数据面板: 设备管理: 设备地图分布: 支持视频监控...

    前言

    8.1.1 物联网平台搭建

    8.2.1 LinkDevelop平台使用

    8.2.2 iotkit-embedded


    前言

    传统的物联网项目,需要嵌入式硬件、云平台。对于我们做嵌入式的来说,从零开始搭建一个物联网云平台几乎是不现实的。

    这里涉及到许多前后端的知识。

    通过阿里云物联网平台,我们可以在不懂前后端开发的基础上,半个小时候左右就可以搭建一个智慧农业的物联网云平台框架。

    效果如下:

    大数据面板:

    设备管理:

    设备地图分布:

    支持视频监控:

     

     

    多个组件图标功能:

     

    8.1.1 物联网平台搭建

    物联网平台搭建的话,我放在了bilibili这里:

    https://www.bilibili.com/video/bv1DK4y1s7Pc 

     

    8.2.1 LinkDevelop平台使用

    1.注册

    打开LinkDevelop官网:https://iot.aliyun.com/products/linkdevelop。单击“立即使用”按钮,如图8.3所示。

    图8.3 LinkDevelop官网

    2.新建项目

    单击左侧的“项目管理”按钮,随后再单击“新建项目”按钮,进入新建项目界面,如图8.4所示。

    图8.4 项目管理界面

    随后在弹出来的新建项目界面上,单击“新建空白项目”按钮,如图8.5所示。

    图8.5 新建项目界面

    弹出新建空白项目界面后,在“项目名称”中输入test,在“描述”中输入这是一个测试项目,单击“确认”按钮,如图8.6所示。

    图8.6 新建空白项目界面

    3.创建产品

    单击左侧的“产品”按钮,在弹出的界面中,单击“创建产品”按钮,如图8.7所示。

    图8.7 产品界面

    在“产品名称”中输入“sensor”,如图8.8所示。

    图8.8 创建产品

    单击“请选择标准品类”下拉框,弹出“选择品类”选择框,阿里云物联网平台预置了许多产品类型,读者可以根据自己的需求选择对应,本书选择“地磁检测器”,如图8.9所示。

    图8.9 选择产品种类

    其他选项按默认值即可,单击“保存”按钮,如图8.10所示。

    图8.10 创建产品

    4.创建设备

    页面左上角有个三角形下拉框,可以选择项目,选择我们刚才创建的test项目,再单击“设备”按钮,最后单击“新增设备”按钮,如图8.11所示。

    图8.11 设备界面

    在“产品”选择下拉框中,选择我们刚才创建的产品sensor,单击“提交”按钮,如图8.12所示。

    图8.12 新增设备

    在弹出的新界面中,单击“下载激活凭证”按钮,下载sheet.xlsx文件,如图8.13所示。保存sheet.xlsx文件,里面的内容后续会用到

    图8.13 下载激活凭证

     

    8.2.2 iotkit-embedded

    iotkit-embedded是阿里云物联网平台提供的一套C语言编写的SDK包。通过该SDK包,我们可以使我们的嵌入式设备接入到阿里云物联网平台。

    SDK使用MQTT/HTTP连接物联网平台,因此要求设备支持TCP/IP协议栈;对于Zigbee、ZWave之类的不支持TCP/IP协议栈的设备,需要通过网关接入物联网平台,这种情况下网关需要集成SDK。

    iotkit-embedded下载地址:https://github.com/aliyun/iotkit-embedded 。

    SDK提供了API供设备厂商调用,用于实现与阿里云IoT平台通信以及一些其他的辅助功能,例如WiFi配网、本地控制等。

    另外,C语言版本的SDK被设计为可以在不同的操作系统上运行,例如Linux、FreeRTOS、Windows,因此SDK需要OS或者硬件支持的操作被定义为一些HAL函数,在使用SDK开发产品时需要将这些HAL函数进行实现。

    产品的业务逻辑、SDK、HAL的关系如图8.15所示。

     

    图8.15 SDK 框架

    表8.1列出了SDK包的相关功能:

    功能模块

    功能点

    设备连云

    MQTT连云,设备可通过MQTT与阿里云IoT物联网平台通信。
    CoAP连云,设备可通过CoAP与阿里云IoT物联网平台通信,用于设备主动上报信息的场景。
    HTTPS连云,设备可通过HTTPS与阿里云IoT物联网平台通信,用于设备主动上报信息的场景。

    设备身份认证

    一机一密。
    一型一密。

    物模型

    使用属性、服务、事件对设备进行描述以及实现,包括:
    属性上报、设置。
    服务调用。
    事件上报。

    OTA

    设备固件升级。

    远程配置

    设备配置文件获取。

    子设备管理

    用于让网关设备添加、删除子设备,以及对子设备进行控制。

    WiFi配网

    将WiFi热点的SSID/密码传输给WiFi设备,包括:
    一键配网。
    手机热点配网。
    设备热点配网。
    零配。

    设备本地控制

    局域网内,通过CoAP协议对设备进行控制,包括:ALCS Server,被控端实现ALCS Client,控制端实现,通常被希望通过本地控制设备的网关使用。

    设备绑定支持

    设备绑定token维护,设备通过WiFI、以太网接入,并且通过阿里云开放智能生活平台管理时使用。

    设备影子

    在云端存储设备指定信息供APP查询,避免总是从设备获取信息引入的延时。

    Reset支持

    当设备执行Factory Reset时,通知云端清除记录。例如清除设备与用户的绑定关系,清除网关与子设备的关联关系等。

    时间获取

    从阿里云物联网平台获取当前最新的时间。

    文件上传

    通过HTTP2上传文件。

    8.2.3 ali-iotkit

    1.简介

    ali-iotkit是 RT-Thread 移植的用于连接阿里云 IoT 平台的软件包。基础 SDK是阿里提供的iotkit-embedded。

    iotkit SDK 为了方便设备上云封装了丰富的连接协议,如 MQTT、CoAP、HTTP、TLS,并且对硬件平台进行了抽象,使其不受具体的硬件平台限制而更加灵活。在代码架构方面,iotkit SDK 分为三层,如图8.16所示:

     

    图8.16 iotkit SDK框架

    硬件平台抽象层:也简称HAL层(Hardware Abstract Layer),抽象不同的嵌入式目标板上,操作系统对SDK的支撑函数,包括网络收发、 TLS/DTLS 通道建立和读写, 内存申请是否和互斥量加锁解锁等。

    中间层称为SDK内核实现层(IoT SDK Core Implements):物联网平台 C-SDK 的核心实现部分, 它基于 HAL 层接口完成了 MQTT/CoAP 通道等的功能封装, 包括 MQTT 的连接建立、 报文收发、CoAP 的连接建立、报文收发、 OTA 的固件状态查询和 OTA 的固件下载等。中间层的封装,使得用户无需关心内部实现逻辑,可以不经修改地应用。

    最上层称为SDK接口声明层(IoT SDK Interface Layer):最上层是为应用提供 API 的,用户使用该层的 API 完成具体的业务逻辑。

    2.配置

    RT-Thread已经为我们集成了ali-iotkit软件,通过简单的menuconfig配置即可使用。配置项位于:RT-Thread online packages→ IoT - internet of things→ IoT Cloud,如图8.17所示。

    图8.17 Ali-iotkit配置项

    按空格键选中“Ali-iotkit”后,再按回车键进入详细配置项。

    (1)version选择v2.0.3。

    (2)Config Product Key (NEW)填写我们之前下载的激活凭证sheet.xlsx文件中的Productkey项的内容。

    (3)Config Device Name (NEW)填写sheet.xlsx文件中的DeviceName项的内容。

    (4)Config Device Secret (NEW)填写sheet.xlsx文件中的DeviceName项的内容。

    其他配置项如图8.18所示。

    图8.18 Ali-iotkit详细配置

    阿里 TLS 认证过程中数据包较大,这里需要增加 TLS 帧大小,OTA 的时候至少需要 8K 大小,修改menuconfig配置项:RT-Thread online packages→security packages →mbedtls: An portable and flexible SSL/TLS library,把Maxium fragment length in bytes的数值改成8192,如图8.19所示。

    图8.19 mbedtls配置

    退出menuconfig,输入pkgs --update更新下载ali-iotkit软件包,下载软件包后,输入scons --target=mdk5重新生成工程文件。

    需要注意的是,ali-iotkit自带mqtt相关功能,如果之前代码配置选择了Paho MQTT,需要把Paho MQTT软件包去掉,否则编译报错。

    软件包位于Chapter8\rt-thread\bsp\stm32\stm32f407-atk-explorer\packages\ali-iotkit-v2.0.3软件包目录如图8.20所示。

    图8.20 ali-iotkit软件包目录

    其中各文件说明如下:

    docs:软件包说明文档。

    iotkit-embedded:阿里云物联网平台提供的SDK包。

    ports:RT-Thread相关移植文件。

    samples:RT-Thread提供的一个简单测试程序。

    8.2.4 实验

    1.上传消息到云端

    (1)打开Chapter8\rt-thread\bsp\stm32\stm32f407-atk-explorer\ project.uvprojx工程文件,其中SDK包相关的代码文件包含在ali-iotkit文件夹下,如图8.21所示。

    图8.21 项目工程

    (2)编译并下载程序到开发板,先确保开发板能ping通阿里云服务器。输入ping iot.aliyun.com并发送回车,有看到如下打印信息则代表网络正常。

    msh />ping iot.aliyun.com
    
    60 bytes from 42.120.219.14 icmp_seq=0 ttl=230 time=42 ms
    
    60 bytes from 42.120.219.14 icmp_seq=1 ttl=230 time=41 ms
    
    60 bytes from 42.120.219.14 icmp_seq=2 ttl=230 time=41 ms
    
    60 bytes from 42.120.219.14 icmp_seq=3 ttl=230 time=41 ms

    (3)打开LinkDevelop的设备管理界面,可以看到之前创建的设备的状态是“未激活”,如图8.22所示。

    图8.22 设备列表

    (4)打开串口工具,发送ali_mqtt_test start命令给开发板,可以看到开发板有如下打印信息:

    msh />ali_mqtt_test start
    
    [inf] iotx_device_info_init(40): device_info created successfully!
    
    [dbg] iotx_device_info_set(50): start to set device info!
    
    [dbg] iotx_device_info_set(64): device_info set successfully!
    
    [dbg] guider_print_dev_guider_info(271): ....................................................
    
    [dbg] guider_print_dev_guider_info(272):           ProductKey : a1wUxrR2Xd4
    
    [dbg] guider_print_dev_guider_info(273):           DeviceName : 3mX9eDe8wt0FDt2hIRxf
    
    [dbg] guider_print_dev_guider_info(274):             DeviceID : a1wUxrR2Xd4.3mX9eDe8wt0FDt2hIRxf
    
    host: a1wuxrr2xd4.iot-as-mqtt.cn-shanghai.aliyuncs.com
    
    [inf] iotx_mc_init(1703): MQTT init success!
    
    [inf] _ssl_client_init(175): Loading the CA root certificate ...
    
     [inf] iotx_mc_connect(2035): mqtt connect success!
    
    [dbg] iotx_mc_report_mid(2259): MID Report: started in MQTT
    
    [dbg] iotx_mc_report_mid(2276): MID Report: json data = '{"id":"a1wUxrR2Xd4_3mX9eDe8wt0FDt2hIRxf_mid","params":{"_sys_device_mid":"example.demo.module-id","_sys_device_pid":"example.demo.partner-id"}}'

    (5)有看到[inf] iotx_mc_connect(2035): mqtt connect success!则表示成功连接上LinkDevelop。重新查看LinkDevelop的设备管理界面,可以看到之前创建的设备的状态是“在线”,说明设备和LinkDevelop通信正常,如图8.23所示。

    图8.23 设备列表

    (6)输入ali_mqtt_test pub open并发送回车,开发板将会推送数据到云端,串口打印信息显示code值为200,则表示推送数据成功。

    _demo_message_arrive|203 :: Payload: '{"code":200,"data":{"LightSwitch":"tsl parse: params not exist","RGBColor":"tsl parse: params not exist"},"id":"1","\0

    (7)在设备列表中单击“查看”按钮,如图8.24所示:

    图8.24设备列表

    (8)在弹出来的设备详情页中,单击“日志服务”按钮,再单击“上行消息分析”按钮,可以看到开发板总共发送了2条消息,其中时间较早的消息是开发板登录时发送的,最新的信息是刚才的ali_mqtt_test pub open命令所发送得到消息。

    图8.25 设备详情

    (9)单击对应消息的MessageID,可以查看消息的具体内容,如图8.26所示。

    图8.26 消息内容

    2.云端发布消息

    (1)单击左上角的小三角形,选择 test,然后单击“产品”按钮,单击“sensor”对应的“查看”按钮,如图8.27所示。

    图8.27 产品列表

    (3)单击“功能定义”按钮,随后单击“自定义功能”按钮,最后单击“添加自定义功能”按钮,如图8.28所示。

    图8.28 功能定义

    (4)功能名称选择“测试001”,其他选型默认即可,单击“确认”,如图8.29所示。

    图8.29 自定义功能

    (5)单击右上角的“发布”按钮,发布新功能,如图8.30所示。

    图8.30 发布功能

    (6)再弹出来的界面中,把所有的“请确认”按钮后面的

    都选上,单击“发布”按钮,如图8.31所示。

    图8.31 确认发布

    (7)回到刚才的设备详情页,单击“在线调试”按钮,单击“调试真实设备” 按钮,单击“属性调试”按钮,调试功能选择“测试001(Test001)”,方法选择“设置”,如图8.32所示。

    图8.32 在线调试

    修改调试信息的内容为{ "Test001": "1"},如图8.33所示,单击“发送指令”按钮。

    图8.33 发送指令

    (8)可以看到开发板有如下打印信息:

    '/sys/a1NegcqX690/AwpDLCcqeb7TSbNevNAr/thing/service/property/set' (Length: 64)
    
    _demo_message_arrive|203 :: Payload: '{"method":"thing.service.property.set","id":"1302514310","params":{"Test001":"1"},"version":"1.0.0"}' (Length: 100)
    
    _demo_message_arrive|207 :: ----

    可以看到接收到LinkDevelop发送的{"Test001": "1"}消息,通信成功。

    展开全文
  • 为大力推动黄河鲲鹏计算产业快速落地,推动数字经济跨越发展和产业转型升级。黄河科技计划对黄河云平台的资源进行统一纳管和运营,提高管理效率,方便运营维护。国产化云平台如何实现多云管控,黄河云来“打样儿”。
  • 云平台知识简介

    千次阅读 2019-11-12 20:27:31
    云平台定义 “云是将服务器虚拟化,形成虚拟资源池,相比于以前的物理机更加节省资源成本,便于管理。云是计算、存储、网路资源池化的概念。我们每天使用的搜索引擎、邮箱、网盘,就是很标准的云,而这大多都是免费...
  • 7个免费的云平台,快来发布你的项目吧!
  • 智能家居云平台设计

    万次阅读 多人点赞 2019-04-09 16:39:07
    智能家居云平台设计 摘要 智能家居是未来家居的发展方向,其利用先进的网络技术、计算机技术和无线通信技术等将家居中的各种电子电气设备连接起来,统一管理、远程监控和资源共享,实现了高效、便利的生活环境。近...
  • 手把手教你搭建OpenStack云平台(超级详细)

    万次阅读 多人点赞 2022-01-21 20:17:03
    OpenStack云平台搭建需要两个节点,一个是controller(控制节点),另一个是compute(计算节点)。 控制节点(controller)规划如下: 一块200G的硬盘。两块网卡,第一块网卡IP地址使用192.168.100.10,第二块...
  • 云平台的云计算安全参数详解

    千次阅读 2022-03-16 19:21:12
    从这些简短的研究主题中,我们可以在安全平台中提出许多可能的解决方案。这些参数帮助用户根据自己的企业需求明智地选择可行的平台
  • 如何开展云平台密评工作

    千次阅读 2022-03-31 17:40:25
    云计算技术由于使用虚拟化等技术,其网络等边界相对而言是很模糊的,而部署在云平台上的系统,其安全风险也随之增加。实际测评中,我们经常会碰到云平台和云租户业务应用系统密码应用(以下称为“云上应用”)的密评...
  • 其中,云平台是网络架构和产业链条中的关键枢纽,它就像物联网体系里的大脑,承载并运算着万物互联后产生的庞大数据,发挥出巨大价值。 云平台搭建,是完成智能应用的必要环节之一。 一、云平台搭建之前,需要...
  • 使用Arduino搭建基于阿里云平台的物联网智能家居

    千次阅读 多人点赞 2021-06-19 18:05:36
    使用Arduino搭建基于阿里云平台的物联网智能家居1,实现的功能2,前期的准备工作3,使用温湿度模块,将读取到的温湿度上传至云平台4,从云平台控制设备5,使用IoT Studio设计美观的交互程序 1,实现的功能 这是一套...
  • 物联网云平台了解 1、物联网云平台:接收设备上报的数据、向设备下发数据、对数据进行转发/分析/计算/显示、管理设备等。 2、常见的物联网云平台一般有: ①:私有物联网云平台:假设某瓜农,为瓜棚装上了物联网温湿计,...
  • 国家中小学网络云平台,国家中小学网络云平台资源包括防疫教育、品德教育、专题教育、课程学习、电子教材、影视教育及有关地方教育资源。教育部利用国家中小学网络云平台和中国教育电视台提供优质学习资源,服务学生...
  • 云平台基本概念

    千次阅读 2019-10-24 18:44:36
    云平台:可以理解为存在于互联网中,能够扩展、向其他用户提供基础服务、数据、中间件、数据服务、软件的提供商。 例如:云服务器空间租用产品,与直接购买服务器存在很大的区别: 一台服务器主机和存...
  • 云平台概念梳理

    千次阅读 2019-03-21 09:03:04
    概念:云平台、云计算平台、云应用平台、云服务平台 平台:任何为开发者创建应用提供服务的软件。 应用平台:户内应用平台和云应用|计算平台。应用平台包括3部分: 一个基础(foundation):几乎所有应用都会用到...
  • 甘肃省教育云平台

    千次阅读 2020-12-31 09:47:49
    甘肃省教育云平台学生登录地址为大家分享,这是一款针对于甘肃省的高校打造的在线教育平台,可以不断的为用户们带来各种各样的学习资源,非常的实用,而且有什么不懂的还可以在线和专业导师互动提问,有需要的就感激...
  • OneNET云平台

    千次阅读 多人点赞 2020-11-24 00:05:25
    OneNET云平台 由中国移动打造的PaaS物联网开放平台。平台能够帮助开发者轻松实现设备接入与设备连接,快速完成产品开发部署,为智能硬件、智能家居产品提供完善的物联网解决方案。 OneNET致力于开发者的体验,逐步...
  • 什么是云平台云平台主要能干什么?

    万次阅读 多人点赞 2019-03-12 22:11:11
    各大厂商解释不一,云计算的书里写的更是云里雾里,但是如果你实际用过现在各大云平台提供商所提供的云计算平台以后,你就可以明白的得出结论,云平台就是高级版本的虚拟主机。 云平台可比虚拟主机高级多了,怎么会...
  • 国家中小学网络云平台登录入口_国家中小学网络云平台网,国家中小学网络云平台资源包括防疫教育、品德教育、专题教育、课程学习、电子教材、影视教育及有关地方教育资源。教育部利用国家中小学网络云平台和中国教育...
  • 很多刚入行的云运维小白,不清楚云平台和云管平台有什么不同,有什么区别。今天我们小编就给大家详细解析一下云平台和云管平台的三大区别,希望能帮到云运维小白们。 第一、定义不同 云平台:是指可以提供IaaS、PaaS...
  • 云平台的分类

    千次阅读 2019-11-18 14:21:43
    要了解云平台之前,首先讲一下云计算 定义:云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些...
  • 云平台基础知识

    千次阅读 2018-09-03 00:09:59
    常用的云平台云平台发展至今主流的平台已成N足鼎立之势,国外云有AWS、Google云、微软云,国内云有阿里云、腾讯云、AWS中国,私有云有OpenStack。   AWS这里单独拿出来强调下,国际版与国内版需要区别对待,...
  • 搭建云平台(一) 云平台基础服务部署

    万次阅读 多人点赞 2019-10-28 23:08:50
    最近因课程要求,自己动手搭了一个OpenStack云平台,我将整个过程分了六篇博客。我使用了两个CentOS的虚拟机,一个作为计算节点,一个作为控制节点,整体过程比较繁杂,有心人可以细心看一看 1、修改各主机名(重新...
  • stm32f103c8t6+ESP8266利用onenet平台上传数据到云平台,再利用云平台远程下发命令给单片机控制LED灯亮灭 接触stm32已经有一年半的时间了,从最开始的stm32F103ZET6 V3战舰版开始学习,慢慢看视频,学会自己查手册找...
  • 云平台是个非常宽泛的领域,一般分成:IaaS 基础设施即服务、PaaS 平台即服务、SaaS 软件即服务,本文侧重介绍企业私有云平台架构。 内容 云平台技术架构 云平台技术架构 如图所示,这是一个完整的企业级应用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 541,847
精华内容 216,738
关键字:

云平台