国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于GEC6818的智能火鍋點(diǎn)餐系統(tǒng)

這篇具有很好參考價(jià)值的文章主要介紹了基于GEC6818的智能火鍋點(diǎn)餐系統(tǒng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

本次項(xiàng)目開(kāi)發(fā)環(huán)境:gec6818,QT5.14.2,SecureCRT。

所使用的相關(guān)技術(shù):c/s架構(gòu),STL庫(kù),C++封裝,標(biāo)準(zhǔn)化代碼編寫

實(shí)現(xiàn)的功能:用戶登錄頁(yè)面,食品分區(qū)在不同頁(yè)面,用戶點(diǎn)餐頁(yè)面,用戶買單頁(yè)面,數(shù)據(jù)整合并發(fā)送至后臺(tái),后臺(tái)成功接受數(shù)據(jù),返回主頁(yè)面。

1、gec6818開(kāi)發(fā)板的特點(diǎn)(性能強(qiáng)大):

? ? ? ? a:GEC6818開(kāi)發(fā)平臺(tái),核心板采用10層板工藝設(shè)計(jì),確保穩(wěn)定可靠。

? ? ? ? b:該平臺(tái)搭載三星Cortex-A53系列高性能八核處理器S5P6818,最高主頻高達(dá)1.4GHz。

? ? ? ? c:開(kāi)發(fā)板留有豐富的外設(shè),支持千兆以太網(wǎng)、板載LVDS接口、MIPI接口、USB接口等。

? ? ? ? d:可應(yīng)用于嵌入式Linux和Android等操作系統(tǒng)的驅(qū)動(dòng)、應(yīng)用開(kāi)發(fā)。

? ? ? ? c:搭載7.0英寸LCD屏支持32位真彩色,觸摸屏使用電容屏觸點(diǎn)多達(dá)1,536,000個(gè)以上。

gec6818,項(xiàng)目,arm開(kāi)發(fā),tcp/ip,list

2、連接電源,串口和網(wǎng)絡(luò)接口,通過(guò)SecureCRT來(lái)設(shè)置開(kāi)發(fā)板。

3、編寫代碼:

? ? ? ? 思路:初始化顯示屏和觸摸屏,生成自定義坐標(biāo)X軸Y軸,根據(jù)觸摸坐標(biāo)發(fā)出的信號(hào)來(lái)響應(yīng)事件。通過(guò)STL庫(kù)中的正向迭代器使文件中的圖片按順序輸出,在通過(guò)TCP通信發(fā)送整合的數(shù)據(jù)到服務(wù)器。為防止項(xiàng)目代碼又長(zhǎng)又丑,采用分文件編寫,精簡(jiǎn),直觀也方便查詢。

? ? ? ? 注意:本次項(xiàng)目只展現(xiàn)部分重要代碼

main.cpp

#include <iostream>
using namespace std;
#include "application.h"

int main()
{
    Application a1;    //自定義開(kāi)始狀態(tài)

    a1.exec();    //只做一個(gè)項(xiàng)目入口

    return 0;
}

application.cpp


#include "application.h"

Application::Application()
{
    m_state = E_APP_STATE_START;        //初始化狀態(tài),使其固定在開(kāi)始狀態(tài)
}

//這里設(shè)計(jì)的是按流程一步步往下走
int Application::exec()
{
    while(1)
    {
        switch (m_state) {
            case E_APP_STATE_NONE:
                break;
            case E_APP_STATE_START://進(jìn)入開(kāi)始畫面的狀態(tài)
                {
                     staticInterface s1;
                     s1.show();
                }
                m_state = E_APP_STATE_LOGIN;
                break;
            case E_APP_STATE_LOGIN://進(jìn)入登錄界面的狀態(tài)
                {
                    LoginInterface l1;
                    l1.show();
                }
                m_state = E_APP_STATE_MAIN;
                break;
            case E_APP_STATE_MAIN://進(jìn)入主界面的狀態(tài)
                {
                    MainWidget m1;
                    m1.show();
                }
                 m_state = E_APP_STATE_LOGIN;
                break;
        }
    }
}

??staticInterface.cpp

#include "staticinterface.h"

在.h文件中類私有成員里面定義的容器
//std::list<std::string> m_bmpList; //定義容器


staticInterface::staticInterface()
{
    //初始化容器,將staticBmp文件夾里面的圖片按順序放入容器中
    m_bmpList = Dir::entryList("./bmp/staticBmp");
}

void staticInterface::show()
{
    Bmp b1;
    //使用常量正向迭代器
    for(std::list<std::string>::iterator it = m_bmpList.begin() ; it!=m_bmpList.end(); it++)
    {
        b1.setFileName(*it);
        b1.show();       //將容器中的圖片一個(gè)個(gè)顯示,1秒的間隔,形成一個(gè)簡(jiǎn)單的開(kāi)始動(dòng)畫動(dòng)圖效果

        sleep(1);
    }
}

?登錄頁(yè)面代碼過(guò)長(zhǎng)切基本上重復(fù)代碼,不做演示,其原理是固定x軸和y軸的大小,當(dāng)點(diǎn)擊時(shí)觸發(fā)信號(hào),顯示數(shù)字并記錄在類內(nèi)中,同時(shí)設(shè)置9個(gè)數(shù)字也就是9個(gè)x軸和y軸的大小,點(diǎn)擊設(shè)置好的確定按鈕區(qū),即可進(jìn)入下一個(gè)頁(yè)面。

maininterface.cpp

void MainWidget::show()
{
    //顯示主界面圖片
    Bmp b1("./bmp/main.bmp");
    b1.show();
    //顯示菜單界面圖片
    m_menuWidget->show();

    SendData s1;

    while(1){
        int x,y;
        //等待觸摸屏 觸摸
        TouchSreen touch;
        touch.waitTouch(x,y);

        if(x>=0 && x<800 && y>=0 && y<480) //點(diǎn)擊到了  菜單界面區(qū)域
        {
            std::cout<<"點(diǎn)擊到了菜單界面區(qū)域...."<<std::endl;
            //判斷當(dāng)前點(diǎn)擊的是 哪個(gè)  菜單界面的按鈕,然后切換不同的  頁(yè)面
            //這里采用了枚舉
            m_menuWidget->setPageWidget(x,y);

        }
    }
}
menuinterface.cpp
int MenuInterface::setPageWidget(int x, int y)
{
    int m_page;
    bool isExit = false;
    //根據(jù)點(diǎn)擊的不同 坐標(biāo) ,判斷點(diǎn)擊的是哪個(gè)按鈕,然后進(jìn)行  換頁(yè)
    if(x>=0 && x<=120 && y>=0 && y<100) //第一頁(yè)  --縮略圖
    {
        std::cout<<"肉太特么香了"<<std::endl;
        m_page = E_MENU_PAGE1;
    }
    else if(x>=0 && x<=120 && y>=100 && y<200)//第二頁(yè)
    {
        std::cout<<"蔬菜太特么健康了"<<std::endl;
        m_page = E_MENU_PAGE2;
    }
    else if(x>=0 && x<=120 && y>=200 && y<300)//第3頁(yè)
    {
        std::cout<<"水果太特么好看了"<<std::endl;
        m_page = E_MENU_PAGE3;
    }
    else if(x>=0 && x<=120 && y>=300 && y<400)//第4頁(yè)
    {
        std::cout<<"飲料太特么爽了"<<std::endl;
        m_page = E_MENU_PAGE4;
    }
    else if(x>=740 && x<800 && y>=420 && y<480)//結(jié)算頁(yè)面
    {
        std::cout<<"結(jié)算中......."<<std::endl;
        m_page = E_MENU_PAGE5;
    }
}
//后面有做一個(gè)圖片縮略圖,就不展示了

只展示一個(gè),展示肉區(qū)

page1interface.cpp

void Page1Interface::show()
{
    //在 界面的右邊  120 ~800 這個(gè)區(qū)域顯示 四張  縮小后的圖片
    int startX = 200;
    int startY = 50;

    int i=0;

    //使用stl庫(kù)的正向迭代器順序輸出圖片
    for(std::list<std::string>::iterator it=m_bmpList.begin(); it!=m_bmpList.end(); it++,i++)
    {

        Bmp b1(it->data());

        switch (i%4) {
            case 0:
                b1.scaleShow(startX,startY);
                break;
            case 1:
                b1.scaleShow(startX+200+100,startY);
                break;
            case 2:
                b1.scaleShow(startX,startY+120+80);
                break;
            case 3:
                b1.scaleShow(startX+200+100,startY+120+80);
                break;
        }
    }
}

//設(shè)置加菜減菜圖片設(shè)計(jì)
void Page1Interface::addShow()
{
    Bmp b1("./bmp/jian.bmp");   //60*60
    b1.show(200,178);
    Bmp b2("./bmp/jia.bmp");    //60*60
    b2.show(340,178);
    Bmp b3("./bmp/jian.bmp");
    b3.show(500,178);
    Bmp b4("./bmp/jia.bmp");
    b4.show(640,178);
    Bmp b5("./bmp/jian.bmp");
    b5.show(200,(178+120+16+60));
    Bmp b6("./bmp/jia.bmp");
    b6.show(340,(178+120+16+60));
    Bmp b7("./bmp/jian.bmp");
    b7.show(500,(178+120+16+60));
    Bmp b8("./bmp/jia.bmp");
    b8.show(640,(178+120+16+60));

}



?然后就是計(jì)算肉區(qū)點(diǎn)餐的數(shù)量,設(shè)置每個(gè)菜的價(jià)格,同一保存至一個(gè)類中,由于代碼過(guò)長(zhǎng)且重復(fù),暫不予展示。其他菜區(qū)也是同樣的操作不展示。

初始化TCP通信,發(fā)送數(shù)據(jù)

    //創(chuàng)建接口
    t1.applyInterface();        //封裝成函數(shù)

    ssize_t wr_size;
    wr_size = write(t1.return_skt_fd(), buffer, strlen(buffer));//接受數(shù)據(jù),擁有阻塞,如果沒(méi)有數(shù)據(jù)將會(huì)阻塞在這里
    if(wr_size == -1)//出錯(cuò)了
    {
        perror("讀取出錯(cuò),那他走\(yùn)n");
        return -1;
    }

    //關(guān)閉接口
    t1.closeCustomer();

此時(shí)后臺(tái)成功接受數(shù)據(jù)

最后一步,將代碼燒寫進(jìn)開(kāi)發(fā)板

? ? ? ? 通過(guò)SecureCRT串口連接開(kāi)發(fā)板,傳輸編譯好的arm文件(arm-linux-g++),再將項(xiàng)目所需圖片下載進(jìn)開(kāi)發(fā)板,運(yùn)行,實(shí)驗(yàn),無(wú)BUG,數(shù)據(jù)接受完整,ok交差。

項(xiàng)目視頻演示連接:https://live.csdn.net/v/287185文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-521091.html

到了這里,關(guān)于基于GEC6818的智能火鍋點(diǎn)餐系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 粵嵌Gec6818---小項(xiàng)目功能實(shí)現(xiàn)簡(jiǎn)單步驟(RFID+圖片顯示+音樂(lè)+視頻)

    粵嵌Gec6818---小項(xiàng)目功能實(shí)現(xiàn)簡(jiǎn)單步驟(RFID+圖片顯示+音樂(lè)+視頻)

    項(xiàng)目設(shè)計(jì)開(kāi)發(fā)環(huán)境: (1)VMware Workstation Pro軟件 (2)ubuntu12 .04 (能交叉編譯就行) (3)SecureCRT? (4)代碼編譯器(notepad++/Visual Studio Code) 項(xiàng)目功能描述: (1)幻燈片:開(kāi)始進(jìn)行圖片幻燈片顯示,結(jié)束后進(jìn)入RFID刷卡開(kāi)鎖界面。 (2)RFID:刷卡成功和刷卡失敗兩種狀態(tài)(

    2024年02月04日
    瀏覽(31)
  • 基于粵嵌gec6818開(kāi)發(fā)板嵌入式開(kāi)發(fā)電子相冊(cè),音樂(lè)播放,視頻播放,2048游戲

    基于粵嵌gec6818開(kāi)發(fā)板嵌入式開(kāi)發(fā)電子相冊(cè),音樂(lè)播放,視頻播放,2048游戲

    實(shí)現(xiàn)功能:本系統(tǒng)需要使用粵嵌的GEC-6818開(kāi)發(fā)板設(shè)計(jì)一款?yuàn)蕵?lè)影音系統(tǒng),其中包括圖片顯示(相冊(cè))、音樂(lè)播放、視頻播放,游戲四個(gè)部分,在每個(gè)部分內(nèi)部,具有操控各個(gè)部分的功能觸摸按鍵。本系統(tǒng)還應(yīng)具有藍(lán)牙遠(yuǎn)程操控功能。 具體要求:對(duì)使用者具有良好的可視交互體

    2024年02月13日
    瀏覽(33)
  • LCD(GEC6818)

    此篇博客是基于GEC6818開(kāi)發(fā)板使用 1、液晶屏的基本概念 像素:屏幕上顯示顏色的最小單位,英文叫pixel。注意,位圖(jpg,bmp等格式的常見(jiàn)圖片)也是由一個(gè)個(gè)的像素點(diǎn)構(gòu)成的,跟屏幕的像素點(diǎn)的概念一樣。原理上講,將一張位圖顯示到屏幕上,就是將圖片上的像素點(diǎn)一個(gè)個(gè)

    2024年02月09日
    瀏覽(22)
  • GEC6818科大訊飛離線語(yǔ)音識(shí)別

    GEC6818科大訊飛離線語(yǔ)音識(shí)別

    在下載SDK時(shí)需要注意選擇Linux的版本?。?在官網(wǎng)下載離線語(yǔ)音的包,解壓后可以得到下面的一些文件夾: 解壓后你需要知道自己命令放在下面的文件夾中 關(guān)于Make file文件: 關(guān)于asr_offline_sample.c文件: asr_offline_sample.c 文件是我們更改為自己的邏輯的文件,但是也不需要都了解

    2024年01月17日
    瀏覽(26)
  • 粵嵌Linux GEC6818開(kāi)發(fā)板實(shí)現(xiàn)電子相冊(cè)

    粵嵌Linux GEC6818開(kāi)發(fā)板實(shí)現(xiàn)電子相冊(cè)

    最近學(xué)校要求使用粵嵌的開(kāi)發(fā)板實(shí)現(xiàn)電子相冊(cè),具體的功能要有點(diǎn)擊特定的區(qū)域?qū)崿F(xiàn)上一張、下一張、自動(dòng)播放圖片、黑屏退出應(yīng)用程序、左右滑動(dòng)切換圖片相關(guān)功能。其中涉及到的知識(shí)點(diǎn)也比較多(文件IO、內(nèi)存映射、觸摸屏、bmp圖片格式、進(jìn)程、線程創(chuàng)建和同步、字符串

    2024年02月04日
    瀏覽(33)
  • 語(yǔ)音識(shí)別開(kāi)源庫(kù) FastARS 移植到GEC6818開(kāi)發(fā)版

    語(yǔ)音識(shí)別開(kāi)源庫(kù) FastARS 移植到GEC6818開(kāi)發(fā)版

    移植 安裝fftw3 移植 OpenBLAS 移植 FastARS 3.編寫交叉編譯的cmake 腳本 4.生成makefile 腳本 5.編譯安裝 6.進(jìn)入 examples 目錄看看是否成功生成 ? 1.把生成的 k2_rnnt2_cli 下載到開(kāi)發(fā)板的 /bin 目錄 2.把所有的庫(kù)文件下載到開(kāi)發(fā)板的 /lib 目錄 ? ? 3.下載語(yǔ)音網(wǎng)絡(luò)模型到開(kāi)發(fā)版中 (模型轉(zhuǎn)換請(qǐng)看

    2023年04月23日
    瀏覽(13)
  • 6.串口通信和傳感器的使用----粵嵌gec6818開(kāi)發(fā)板上實(shí)現(xiàn)智能家居(光照氣度,壓強(qiáng),海拔,濕度,溫度達(dá)到臨界值蜂鳴器自動(dòng)警報(bào)等)

    6.串口通信和傳感器的使用----粵嵌gec6818開(kāi)發(fā)板上實(shí)現(xiàn)智能家居(光照氣度,壓強(qiáng),海拔,濕度,溫度達(dá)到臨界值蜂鳴器自動(dòng)警報(bào)等)

    串口是一種簡(jiǎn)單的通信接口,也是單片機(jī)中最常用,最簡(jiǎn)單的通信方式 通常傳感器都是采用串口作為與上位機(jī)的通信接口 ARM板上提供了三個(gè)可以外接傳感器的串口接口,位于開(kāi)發(fā)板的右上角, 從上到下分別是: ? 串口號(hào) 串口驅(qū)動(dòng)設(shè)備文件名 ? CON2 “/dev/ttySAC1” ? CON3 “

    2024年02月16日
    瀏覽(253)
  • 學(xué)習(xí)筆記(1)——粵嵌gec6818實(shí)現(xiàn)電子相冊(cè),音樂(lè)播放器,視頻播放器。

    學(xué)習(xí)筆記(1)——粵嵌gec6818實(shí)現(xiàn)電子相冊(cè),音樂(lè)播放器,視頻播放器。

    (1)設(shè)計(jì)一個(gè)初始界面,并且設(shè)置電子相冊(cè),音樂(lè)播放器,視頻播放器三個(gè)觸摸按鍵。 (2)電子相冊(cè)——能夠?qū)崿F(xiàn)相冊(cè)的幻燈片功能,實(shí)現(xiàn)相冊(cè)左右滑動(dòng)切換相片。 (3)音樂(lè)播放器實(shí)現(xiàn)——切歌,播放和暫停功能。 (4)視頻播放器實(shí)現(xiàn)——播放、暫停、音量大小、快進(jìn)倒

    2024年02月11日
    瀏覽(44)
  • GEC6818網(wǎng)絡(luò)編程——服務(wù)器端與客戶端tcp的雙向通信

    網(wǎng)絡(luò)編程之實(shí)現(xiàn)服務(wù)器和客戶端的tcp雙向通信,前面是雙向通信的詳細(xì)流程介紹,后面附上完整的代碼o(  ̄▽ ̄ )ブ 1.1 服務(wù)器端雙向通信的詳細(xì)流程敘述 創(chuàng)建TCP套接字 : 使用 socket 函數(shù)創(chuàng)建一個(gè)TCP套接字。這里使用了IPv4地址族 AF_INET 和流式套接字 SOCK_STREAM 。 綁定IP和端口

    2024年02月21日
    瀏覽(38)
  • GEC6818開(kāi)發(fā)板JPG圖像顯示,科大訊飛離線語(yǔ)音識(shí)別包Linux_aitalk_exp1227_1398d7c6運(yùn)行demo程序,開(kāi)發(fā)板實(shí)現(xiàn)錄音

    GEC6818開(kāi)發(fā)板JPG圖像顯示,科大訊飛離線語(yǔ)音識(shí)別包Linux_aitalk_exp1227_1398d7c6運(yùn)行demo程序,開(kāi)發(fā)板實(shí)現(xiàn)錄音

    體積小,使用到數(shù)據(jù)結(jié)構(gòu)里面的 霍夫曼樹(shù)(哈夫曼樹(shù)) 對(duì)數(shù)據(jù)進(jìn)行壓縮 1.對(duì)jpegsrc.v8c.tar.gz進(jìn)行arm移植 移植方式如下: 1.將jpegsrc.v8c.tar.gz解壓縮到ubuntu ~ 2.進(jìn)入~/jpeg-8c對(duì)jpeg庫(kù)進(jìn)行配置 3.編譯 4.安裝,將動(dòng)態(tài)庫(kù)存放到 /home/gec/armJPegLib 5.清空編譯記錄 6.自己查看下 /home/gec/armJPegLib目

    2024年01月17日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包