chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Polardb數(shù)據(jù)庫模擬控制智能家居測試案例

電子設(shè)計(jì) ? 2018-11-06 09:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Polardb 是阿里云研發(fā)的一種關(guān)系型數(shù)據(jù)庫,與mysql完全兼容,而性能又是其6倍,具有高吞吐,低延遲等特性; 本測試通過模擬控制智能家居開關(guān)的終端場景,來體驗(yàn)polardb的性能;

本測試通過模擬控制智能家居開關(guān)的終端場景,來體驗(yàn)polardb的性能;

1、環(huán)境搭建

1.1 polardb配置

首先需要購買polardb,按照處理器和內(nèi)存的性能不同,價(jià)格也不同,最低的配置為2核4G的polar.mysql.x2.medium規(guī)格,包月價(jià)格560RMB;

購買以后,就可以通過連接https://polardb.console.aliyun.com/,進(jìn)入polardb控制臺(tái)進(jìn)行相關(guān)的配置;選擇一個(gè)地域節(jié)點(diǎn)[如華東1],創(chuàng)建一個(gè)實(shí)例,然后選擇一個(gè)集群列表,創(chuàng)建一個(gè)集群。創(chuàng)建好后,可以看到數(shù)據(jù)庫類型為POLARDB (MySQL 5.6),付費(fèi)類型和到期時(shí)間分別為包月和一個(gè)月的長度;在創(chuàng)建時(shí)配置好初始賬號(hào)和密碼就可以使用了;在集群頁面,鼠標(biāo)點(diǎn)擊右側(cè)的管理連接,進(jìn)入集群信息頁面,可以看到公網(wǎng)聯(lián)接的地址,是用戶賬號(hào)名開始的連接,后面是mysql常用的端口號(hào)3306,記錄下這個(gè)后面連接用的到;

集群連接地址 (公網(wǎng)) : mypolardb.mysql.polardb.rds.aliyuncs.com:3306 ,這里我的賬號(hào)配置為mypolardb,所以這里以mypolardb開頭;

在上面的白名單列表 中,點(diǎn)擊后面的筆狀修改按鈕,將我們用來連接數(shù)據(jù)庫的ecs 服務(wù)器地址添加到里面;這里我的服務(wù)器地址為47.94.219.162.

1.2 ECS服務(wù)器配置:

由于需要在web頁面上進(jìn)行結(jié)果測試,先安裝nginx服務(wù)器,使用以下命令行進(jìn)行安裝:

sudo apt-get install nginx

安裝好后,在瀏覽器中輸入 ECS的地址[這里測試的是:47.94.219.162],可以看到nginx的歡迎界面,表示安裝成功;

由于后面需要用php腳本程序開發(fā),所以還需要安裝php,在console窗口輸入以下命令安裝:

sudo apt-get install php*

安裝好后,輸入下面的命令修改nginx的配置:

sudo vi /etc/nginx/sites-available/default

將文件中的下面四段打開:

location ~ \.php$ {

include snippets/fastcgi-php.conf;

fastcgi_pass unix:/run/php/php7.0-fpm.sock;

}

保存退出,然后重啟nginx:

service nginx restart

進(jìn)入/var/www/html目錄,創(chuàng)建一個(gè)php文件,測試是否php安裝成功:

vi phpinfo.php

《?php phpinfo(); 》

在瀏覽器訪問這個(gè)文件,如果可以看到相關(guān)的php信息,則表明php安裝成功;

進(jìn)入域名控制臺(tái),選擇要解析的域名,點(diǎn)擊解析連接,添加一條A記錄,主機(jī)記錄起一個(gè)容易記住的名字,比如:polardb,記錄值選擇ECS的ip地址,比如:47.94.219.162,然后創(chuàng)建完成后,等待5分鐘,在瀏覽器訪問一下新的域名,比如polardb.xunyun17.xyz,如果同樣能看到nginx 的歡迎界面,表示域名解析成功;

由于本智能家居場景使用mysql開發(fā)體驗(yàn),所以還需要在ubuntu里,安裝mysql,運(yùn)行下面的命令進(jìn)行安裝:

sudo apt install mysql-client

安裝完mysql后,建立一個(gè)shell腳本,測試是否可以連接到polardb上:

vi p.sh

mysql -h mypolardb.mysql.polardb.rds.aliyuncs.com --user=mypolardb --password=mypolardb

。/p.sh

如果運(yùn)行完腳本后,可以看到mysql的提示信息,和mysql大于號(hào)提示符,表示可以連接成功;

2、開發(fā)

首先搭建創(chuàng)建一個(gè)數(shù)據(jù)庫和一張表用來保存客廳和設(shè)備當(dāng)前信息:

。/p.sh

create database keting;

use keting;

CREATE TABLE status (devname VARCHAR(20), value int(4),changetime DATETIME);

insert into status(devname,value,changetime) values

(‘TV0001’,0,NOW()),

(‘LAMP01’,1,NOW()),

(‘CURN01’,1,NOW());

然后通過mysql的c語言api接口,編寫一段程序,來讀取status設(shè)備表中的設(shè)備狀態(tài):

////////////////////////////////////////query lamp device

sprintf(str_cmd,“select value from status where devname=‘LAMP01’”);

//printf(“\n%s\n.”,str_cmd);

no_res = 0;

if(mysql_query(conn, str_cmd))

{

printf(“《《《《《《《\n”);

exit(1);

}

res = mysql_use_result(conn);

if(no_res==0){

while((row = mysql_fetch_row(res)) != NULL)

{

// printf(“%s \n”, row[0]);

if(selno==17) printf(“%s”, row[0]);

else printf(“%s\t %s\t %s”, row[0],row[1],row[2]);

}

}

mysql_free_result(res);

sprintf(str_cmd,“select value from status where devname=‘CURN01’”);

//printf(“\n%s\n.”,str_cmd);

no_res = 0;

下一步,就是用php腳本調(diào)用這段代碼查詢設(shè)備狀態(tài),并且顯示在網(wǎng)頁上:查詢結(jié)果在

使用以下php代碼實(shí)現(xiàn):

if(!empty($_REQUEST[‘a(chǎn)rguments’])){

exec(‘。/mysqlv ’.$_REQUEST[‘a(chǎn)rguments’]。‘ LAMP03 1’,$result);

//print_r($result);

//echo $result[0][0]?!禸r》’;

//echo $result[0][1]?!禸r》’;

//echo $result[0][2];

if($result[0][0]==0) $s1 = ‘OFF’;

else $s1 = ‘ON’;

if($result[0][1]==0) $s2 = ‘OFF’;

else $s2 = ‘ON’;

if($result[0][2]==0) $s3 = ‘OFF’;

else $s3 = ‘ON’;

if($_REQUEST[‘a(chǎn)rguments’]==17) echo “《center》《table border=\”1\“》

《tr》

《th》電視《/th》

《th》燈《/th》

《th》窗簾《/th》

《/tr》

《tr》

《td》”.$s1.“《/td》

《td》”.$s2.“《/td》

《td》”.$s3.“《/td》

《/tr》

《/table》《/center》”;

打開瀏覽器運(yùn)行這個(gè)php腳本,點(diǎn)擊運(yùn)行按鈕,可以看到頁面會(huì)顯示一個(gè)設(shè)備狀態(tài)表格,包括電視,燈,窗簾是否有打開或關(guān)閉;

接下來,用c語言寫一個(gè)socket監(jiān)聽程序,用來監(jiān)聽后續(xù)遠(yuǎn)程設(shè)備對智能家居的更新請求,并實(shí)現(xiàn)狀態(tài)更新,代碼如下:

n = read(sock,buffer,255);

if (n 《 0) {

perror(“ERROR reading from socket”);

exit(1);

}

strncpy(devname,buffer,6);

devname[6]=0;

devval=buffer[6]-‘0’;

memset(cmdstr,0,256);

sprintf(cmdstr,“。/mysqlv 15 %s %i”,devname,devval);

printf(“%s.\n”,cmdstr);

system(cmdstr);

printf(“Here is the message: %s\n”,buffer);

n = write(sock,“I got your message”,18);

服務(wù)端監(jiān)聽程序編寫好以后,就可以開始寫模擬設(shè)備端的程序:

同樣使用c語言的socket函數(shù)進(jìn)行編寫,將命令行的數(shù)據(jù)發(fā)往服務(wù)器端:

/* Now connect to the server */

if (connect(sockfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)) 《 0) {

perror(“ERROR connecting”);

exit(1);

}

/* Now ask for a message from the user, this message

* will be read by server

*/

printf(“Please enter the message: ”);

bzero(buffer,256);

strcpy(buffer, argv[3]);

//fgets(buffer,255,stdin);

/* Send message to the server */

n = write(sockfd, buffer, strlen(buffer));

if (n 《 0) {

perror(“ERROR writing to socket”);

exit(1);

}

最后,還要修改我們的mysqlv.c的數(shù)據(jù)庫調(diào)用代碼,將命令行參數(shù)更改到數(shù)據(jù)庫中:

sprintf(str_cmd,“update status set value=%d where devname=\‘%s\’”,atoi(argc[3]),argc[2]);

3、測試

當(dāng)服務(wù)器和客戶端的程序都完成后,就可以進(jìn)行測試了;首先在服務(wù)器上,用以下命令行后臺(tái)運(yùn)行監(jiān)聽程序:

。/s&

然后在本地運(yùn)行模擬設(shè)備程序,例如我們要運(yùn)行將燈打開的命令,用下面的命令行:

。/c 47.94.219.162 8266 LAMP011

如果收到服務(wù)器的回顯消息,則表示發(fā)送成功;

打開瀏覽器,運(yùn)行php腳本,點(diǎn)擊運(yùn)行按鈕,可以看到頁面出現(xiàn)了最新設(shè)備狀態(tài)的表格信息;

結(jié)論與建議:可以看到這個(gè)polardb的新型數(shù)據(jù)庫,還是和mysql兼容的,操作起來也比較方便;

如果能夠像其他阿里云的產(chǎn)品也提供相關(guān)的restful api接口,將會(huì)使開發(fā)變得更方便和快捷;

4、附錄和截圖

操作polardb 的mysqlv完整程序:

#include 《mysql/mysql.h》

#include 《stdio.h》

#include 《stdlib.h》

#include 《string.h》

int main(int argv,char**argc)

{

MYSQL *conn;

MYSQL_RES *res;

MYSQL_ROW row;

char server[] = “47.98.24.120”;

char user[] = “mypolardb”;

char password[] = “mypolardb”;

char database[] = “mysql”;

char str_cmd[250];

int no_res = 0;

int selno=0;

if(argv《2) {

printf(“mysqlv funcno.\n”);

return 0;

}

conn = mysql_init(NULL);

if(!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0))

{

printf(“》》》》》》》\n”);

exit(1);

}

selno = atoi(argc[1]);

// printf(“selno:%d\n《br》”,selno);

switch(selno){

case 1:

strcpy(str_cmd,“select version()”);

break;

case 2:

strcpy(str_cmd,“select current_date”);

break;

case 3:

strcpy(str_cmd,“show databases”);

break;

case 4:

strcpy(str_cmd,“create database keting”);

no_res = 1;

break;

case 5:

strcpy(str_cmd,“drop database keting”);

no_res = 1;

break;

case 6:

strcpy(str_cmd,“create database woshi”);

no_res = 1;

break;

case 7:

strcpy(str_cmd,“drop database woshi”);

no_res = 1;

break;

case 8:

strcpy(str_cmd,“create database chufang”);

no_res = 1;

break;

case 9:

strcpy(str_cmd,“drop database chufang”);

no_res = 1;

break;

case 10:

strcpy(str_cmd,“use keting”);

no_res = 1;

break;

case 11:

strcpy(str_cmd,“use woshi”);

no_res = 1;

break;

case 12:

strcpy(str_cmd,“use chufang”);

no_res = 1;

break;

#if 0

case 13:

strcpy(str_cmd,“show tables”);

//no_res = 1;

break;

/*table operate for keting*/

case 14:

strcpy(str_cmd,“CREATE TABLE prop (devname VARCHAR(20), value int(4))”);

//no_res = 1;

break;n

#endif

case 15:

strcpy(str_cmd,“describe prop”);

//no_res = 1;

break;

case 16:

strcpy(str_cmd,“drop table if exists prop”);

//no_res = 1;

break;

}

if(selno==13){

strcpy(str_cmd,“use keting”);

if(mysql_query(conn, str_cmd))

{

printf(“《《《《《《《\n”);

exit(1);

}

strcpy(str_cmd,“show tables”);

no_res = 0;

}

if(selno==14){

strcpy(str_cmd,“use keting”);

if(mysql_query(conn, str_cmd))

{

printf(“《《《《《《《\n”);

exit(1);

}

strcpy(str_cmd,“select * from prop;”);

no_res = 0;

}

if(selno==15){

strcpy(str_cmd,“use keting”);

if(mysql_query(conn, str_cmd))

{

printf(“《《《《《《《\n”);

exit(1);

}

// sprintf(str_cmd,“insert into prop(devname,value,changetime) values (\‘%s\’,%i,NOW())”,argc[2],atoi(argc[3]));

sprintf(str_cmd,“update status set value=%d where devname=\‘%s\’”,atoi(argc[3]),argc[2]);

printf(“\n%s\n.”,str_cmd);

no_res = 1;

}

if(selno==16){

strcpy(str_cmd,“use keting”);

if(mysql_query(conn, str_cmd))

{

printf(“《《《《《《《\n”);

exit(1);

}

sprintf(str_cmd,“delete from prop where devname=‘my_dev’”);

printf(“\n%s\n.”,str_cmd);

no_res = 1;

}

if(selno==17){

strcpy(str_cmd,“use keting”);

if(mysql_query(conn, str_cmd))

{

printf(“《《《《《《《\n”);

exit(1);

}

////////////////////////////////////////query tv device

sprintf(str_cmd,“select value from status where devname=‘TV0001’”);

//printf(“\n%s\n.”,str_cmd);

no_res = 0;

if(mysql_query(conn, str_cmd))

{

printf(“《《《《《《《\n”);

exit(1);

}

res = mysql_use_result(conn);

if(no_res==0){

while((row = mysql_fetch_row(res)) != NULL)

{

// printf(“%s \n”, row[0]);

if(selno==17) printf(“%s”, row[0]);

else printf(“%s\t %s\t %s”, row[0],row[1],row[2]);

}

}

mysql_free_result(res);

////////////////////////////////////////query lamp device

sprintf(str_cmd,“select value from status where devname=‘LAMP01’”);

//printf(“\n%s\n.”,str_cmd);

no_res = 0;

if(mysql_query(conn, str_cmd))

{

printf(“《《《《《《《\n”);

exit(1);

}

res = mysql_use_result(conn);

if(no_res==0){

while((row = mysql_fetch_row(res)) != NULL)

{

// printf(“%s \n”, row[0]);

if(selno==17) printf(“%s”, row[0]);

else printf(“%s\t %s\t %s”, row[0],row[1],row[2]);

}

}

mysql_free_result(res);

sprintf(str_cmd,“select value from status where devname=‘CURN01’”);

//printf(“\n%s\n.”,str_cmd);

no_res = 0;

}

//printf(“finish! \n”);

if(mysql_query(conn, str_cmd))

{

printf(“《《《《《《《\n”);

exit(1);

}

res = mysql_use_result(conn);

if(no_res==0){

if(selno==14)

printf(“DEVICE VALUE TIMESTAMP《br》”);

while((row = mysql_fetch_row(res)) != NULL)

{

// printf(“%s”, row[0]);

if(selno==17) printf(“%s\t ”, row[0]);

else printf(“%s\t %s\t %s”, row[0],row[1],row[2]);

}

}

mysql_free_result(res);

mysql_close(conn);

/*

printf(“finish! \n”);

printf(“finish! 《br》”);

*/

return 0;

}

server.c服務(wù)器監(jiān)聽的完整程序:

#include 《stdio.h》

#include 《stdlib.h》

#include 《netdb.h》

#include 《netinet/in.h》

#include 《string.h》

void doprocessing (int sock);

int main( int argc, char *argv[] ) {

int sockfd, newsockfd, portno, clilen;

char buffer[256];

struct sockaddr_in serv_addr, cli_addr;

int n, pid;

/* First call to socket() function */

sockfd = socket(AF_INET, SOCK_STREAM, 0);

if (sockfd 《 0) {

perror(“ERROR opening socket”);

exit(1);

}

/* Initialize socket structure */

bzero((char *) &serv_addr, sizeof(serv_addr));

portno = 8266;//5001;

serv_addr.sin_family = AF_INET;

serv_addr.sin_addr.s_addr = INADDR_ANY;

serv_addr.sin_port = htons(portno);

/* Now bind the host address using bind() call.*/

if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) 《 0) {

perror(“ERROR on binding”);

exit(1);

}

/* Now start listening for the clients, here

* process will go in sleep mode and will wait

* for the incoming connection

*/

listen(sockfd,5);

clilen = sizeof(cli_addr);

while (1) {

newsockfd = accept(sockfd, (struct sockaddr *) &cli_addr, &clilen);

if (newsockfd 《 0) {

perror(“ERROR on accept”);

exit(1);

}

/* Create child process */

pid = fork();

if (pid 《 0) {

perror(“ERROR on fork”);

exit(1);

}

if (pid == 0) {

/* This is the client process */

close(sockfd);

doprocessing(newsockfd);

exit(0);

}

else {

close(newsockfd);

}

} /* end of while */

}

void doprocessing (int sock) {

int n;

char buffer[256];

char cmdstr[256];

char devname[10];

int devval=0;

bzero(buffer,256);

n = read(sock,buffer,255);

if (n 《 0) {

perror(“ERROR reading from socket”);

exit(1);

}

strncpy(devname,buffer,6);

devname[6]=0;

devval=buffer[6]-‘0’;

memset(cmdstr,0,256);

sprintf(cmdstr,“。/mysqlv 15 %s %i”,devname,devval);

printf(“%s.\n”,cmdstr);

system(cmdstr);

printf(“Here is the message: %s\n”,buffer);

n = write(sock,“I got your message”,18);

if (n 《 0) {

perror(“ERROR writing to socket”);

exit(1);

}

if(buffer[0]==‘z’) exit(1);

}

client.c客戶端模擬設(shè)備的完整程序:

#include 《stdio.h》

#include 《stdlib.h》

#include 《netdb.h》

#include 《netinet/in.h》

#include 《string.h》

int main(int argc, char *argv[]) {

int sockfd, portno, n;

struct sockaddr_in serv_addr;

struct hostent *server;

char buffer[256];

if (argc 《 3) {

fprintf(stderr,“usage %s hostname port devsw\n”, argv[0]);

exit(0);

}

portno = atoi(argv[2]);

/* Create a socket point */

sockfd = socket(AF_INET, SOCK_STREAM, 0);

if (sockfd 《 0) {

perror(“ERROR opening socket”);

exit(1);

}

server = gethostbyname(argv[1]);

if (server == NULL) {

fprintf(stderr,“ERROR, no such host\n”);

exit(0);

}

bzero((char *) &serv_addr, sizeof(serv_addr));

serv_addr.sin_family = AF_INET;

bcopy((char *)server-》h_addr, (char *)&serv_addr.sin_addr.s_addr, server-》h_length);

serv_addr.sin_port = htons(portno);

/* Now connect to the server */

if (connect(sockfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)) 《 0) {

perror(“ERROR connecting”);

exit(1);

}

/* Now ask for a message from the user, this message

* will be read by server

*/

printf(“Please enter the message: ”);

bzero(buffer,256);

strcpy(buffer, argv[3]);

//fgets(buffer,255,stdin);

/* Send message to the server */

n = write(sockfd, buffer, strlen(buffer));

if (n 《 0) {

perror(“ERROR writing to socket”);

exit(1);

}

/* Now read server response */

bzero(buffer,256);

n = read(sockfd, buffer, 255);

if (n 《 0) {

perror(“ERROR reading from socket”);

exit(1);

}

printf(“%s\n”,buffer);

return 0;

}

p.php腳本結(jié)果顯示的完整程序;

《html》

《head》

《title》小白的智能家居《/title》

《/head》

《body》

《?php

if(!empty($results)){

// echo $results;

}

?》

《center》小白的智能家居《/center》

《form method=“post” action=“”》

《select name=“arguments”》

《option value =“17” selected=“selected”》顯示客廳狀態(tài)《/option》

《/select》

《input type=“submit” name=“Submit” value=“運(yùn)行” /》

《/form》

《/body》

《/html》

《?php

if(!empty($_REQUEST[‘a(chǎn)rguments’])){

exec(‘。/mysqlv ’.$_REQUEST[‘a(chǎn)rguments’]。‘ LAMP03 1’,$result);

//print_r($result);

//echo $result[0][0]?!禸r》’;

//echo $result[0][1]?!禸r》’;

//echo $result[0][2];

if($result[0][0]==0) $s1 = ‘OFF’;

else $s1 = ‘ON’;

if($result[0][1]==0) $s2 = ‘OFF’;

else $s2 = ‘ON’;

if($result[0][2]==0) $s3 = ‘OFF’;

else $s3 = ‘ON’;

if($_REQUEST[‘a(chǎn)rguments’]==17) echo “《center》《table border=\”1\“》

《tr》

《th》電視《/th》

《th》燈《/th》

《th》窗簾《/th》

《/tr》

《tr》

《td》”.$s1.“《/td》

《td》”.$s2.“《/td》

《td》”.$s3.“《/td》

《/tr》

《/table》《/center》”;

}

?》

作者:云棲社區(qū) tech君

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    4011

    瀏覽量

    68287
  • 智能家居
    +關(guān)注

    關(guān)注

    1942

    文章

    9988

    瀏覽量

    197278
  • 阿里云
    +關(guān)注

    關(guān)注

    3

    文章

    1037

    瀏覽量

    45662
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    控制模式的智能家居系統(tǒng)設(shè)計(jì)

    隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,智能家居的需求不斷增加,但仍存在設(shè)備兼容性差和成本高等問題。本文提出了一種基于STM32單片機(jī)的多模式智能家居控制系統(tǒng),該系統(tǒng)通過溫濕度、光照強(qiáng)度和煙霧濃度傳感器與OLED
    的頭像 發(fā)表于 01-15 18:01 ?266次閱讀
    多<b class='flag-5'>控制</b>模式的<b class='flag-5'>智能家居</b>系統(tǒng)設(shè)計(jì)

    智能家居場景下高精度模擬量采集模塊的選型與應(yīng)用方案

    高精度模擬量采集模塊是智能家居系統(tǒng)的核心感知單元,負(fù)責(zé)將溫濕度、光照、氣體濃度、人體感應(yīng)、能耗等模擬信號(hào),轉(zhuǎn)化為高保真數(shù)字信號(hào),為家電聯(lián)動(dòng)、節(jié)能控制、安全防護(hù)提供精準(zhǔn)
    的頭像 發(fā)表于 12-25 16:42 ?351次閱讀

    國產(chǎn)數(shù)據(jù)庫的AI戰(zhàn)事

    國產(chǎn)數(shù)據(jù)庫硝煙再起,Vastbase V100構(gòu)筑企業(yè)智能基座
    的頭像 發(fā)表于 10-24 20:45 ?3961次閱讀
    國產(chǎn)<b class='flag-5'>數(shù)據(jù)庫</b>的AI戰(zhàn)事

    信號(hào)發(fā)生器在智能家居設(shè)備測試中的應(yīng)用

    智能家居設(shè)備的測試面臨諸多挑戰(zhàn)。信號(hào)發(fā)生器作為電子測試領(lǐng)域的核心工具,在智能家居設(shè)備的研發(fā)、生產(chǎn)及質(zhì)量驗(yàn)證中發(fā)揮著不可替代的作用。本文將深入探討信號(hào)發(fā)生器在
    的頭像 發(fā)表于 08-18 17:13 ?779次閱讀
    信號(hào)發(fā)生器在<b class='flag-5'>智能家居</b>設(shè)備<b class='flag-5'>測試</b>中的應(yīng)用

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—服務(wù)器異常斷電導(dǎo)致Oracle數(shù)據(jù)庫故障的數(shù)據(jù)恢復(fù)案例

    Oracle數(shù)據(jù)庫故障: 某公司一臺(tái)服務(wù)器上部署Oracle數(shù)據(jù)庫。服務(wù)器意外斷電導(dǎo)致數(shù)據(jù)庫報(bào)錯(cuò),報(bào)錯(cuò)內(nèi)容為“system01.dbf需要更多的恢復(fù)來保持一致性”。該Oracle數(shù)據(jù)庫
    的頭像 發(fā)表于 07-24 11:12 ?612次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—服務(wù)器異常斷電導(dǎo)致Oracle<b class='flag-5'>數(shù)據(jù)庫</b>故障的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫文件丟失的數(shù)據(jù)恢復(fù)案例

    MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: 一臺(tái)操作系統(tǒng)為Windows Server的虛擬機(jī)上部署MongoDB數(shù)據(jù)庫。 MongoDB數(shù)據(jù)庫故障: 工作人員在MongoDB服務(wù)仍
    的頭像 發(fā)表于 07-01 11:13 ?614次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—MongoDB<b class='flag-5'>數(shù)據(jù)庫</b>文件丟失的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫被加密如何恢復(fù)數(shù)據(jù)

    SQL Server數(shù)據(jù)庫故障: SQL Server數(shù)據(jù)庫被加密,無法使用。 數(shù)據(jù)庫MDF、LDF、log日志文件名字被篡改。
    的頭像 發(fā)表于 06-25 13:54 ?641次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—SQL Server<b class='flag-5'>數(shù)據(jù)庫</b>被加密如何恢復(fù)<b class='flag-5'>數(shù)據(jù)</b>?

    藍(lán)牙語音遙控器:智能家居的智慧控制核心

    隨著智能家居的蓬勃發(fā)展,藍(lán)牙語音遙控器憑借其便捷的操作和智能交互體驗(yàn),正迅速取代傳統(tǒng)紅外遙控器,成為智能電視、機(jī)頂盒等設(shè)備的首選控制工具。 相較于需對準(zhǔn)設(shè)備的紅外遙控器,藍(lán)牙語音遙控器
    發(fā)表于 06-01 20:24

    (大賽作品)STM32F072RB NUCLEO智能家居控制實(shí)例項(xiàng)目

    (大賽作品)STM32F072RB NUCLEO智能家居控制實(shí)例項(xiàng)目文檔截圖
    發(fā)表于 05-28 21:06

    Matter 智能家居的通用語言

    企業(yè)正在測試 134 種獨(dú)特的 Matter 產(chǎn)品。 在消費(fèi)者對智能家居設(shè)備無縫互操作性需求的推動(dòng)下,Matter的廣泛采用將吸引更多的開發(fā)者。
    發(fā)表于 05-19 15:35

    明遠(yuǎn)智睿SSD2351開發(fā)板:智能家居智能核心

    1.4GHz處理器具備強(qiáng)大的運(yùn)算能力,能夠快速處理智能家居系統(tǒng)中的各種數(shù)據(jù)和指令。在智能家居環(huán)境中,大量的設(shè)備需要進(jìn)行實(shí)時(shí)監(jiān)控和控制,如智能
    發(fā)表于 05-07 18:59

    智能家居控制器:無線通訊,智能化管理家居設(shè)備

    智能家居控制器是智能家居系統(tǒng)的核心設(shè)備,通過集中管理和協(xié)調(diào)各類智能終端,實(shí)現(xiàn)家居環(huán)境的自動(dòng)化、智能
    的頭像 發(fā)表于 04-24 15:09 ?1253次閱讀

    智能家居Mesh組網(wǎng)方案:實(shí)現(xiàn)智能化生活的無縫連接NRF52832

    特性: 1、多語音平臺(tái)接入:智能家居 Mesh 組網(wǎng)方案支持天貓精靈、Echo 等智能語音平臺(tái)的接入,讓用戶可以通過語音指令控制智能家居設(shè)備,實(shí)現(xiàn)
    發(fā)表于 04-15 14:07

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)——MongoDB數(shù)據(jù)庫文件拷貝后服務(wù)無法啟動(dòng)的數(shù)據(jù)恢復(fù)

    MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: 一臺(tái)Windows Server操作系統(tǒng)虛擬機(jī)上部署MongoDB數(shù)據(jù)庫。 MongoDB數(shù)據(jù)庫故障: 管理員在未關(guān)閉MongoDB服務(wù)的
    的頭像 發(fā)表于 04-09 11:34 ?836次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)——MongoDB<b class='flag-5'>數(shù)據(jù)庫</b>文件拷貝后服務(wù)無法啟動(dòng)的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server附加數(shù)據(jù)庫提示“錯(cuò)誤 823”的數(shù)據(jù)恢復(fù)案例

    SQL Server數(shù)據(jù)庫附加數(shù)據(jù)庫過程中比較常見的報(bào)錯(cuò)是“錯(cuò)誤 823”,附加數(shù)據(jù)庫失敗。 如果數(shù)據(jù)庫有備份則只需還原備份即可。但是如果沒有備份,備份時(shí)間太久,或者其他原因?qū)е聜浞?/div>
    的頭像 發(fā)表于 02-28 11:38 ?1040次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—SQL Server附加<b class='flag-5'>數(shù)據(jù)庫</b>提示“錯(cuò)誤 823”的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例