Keresés

Új hozzászólás Aktív témák

  • gazso75

    aktív tag

    válasz Xpod #12040 üzenetére

    Nekem a céges, nem általam felügyelt csinálja ezt, pedig local admin vagyok. Neked ?
    Szerintem valami ehhez hasonló lehet. Sima saját magam telepített W10-en, simán megy minden, ebből gondolom.
    Érdekes módon, Arduino-ra tudok fordítani/feltölteni, esp8266-ra meg nem :(

    [ Szerkesztve ]

  • Janos250

    őstag

    válasz Xpod #12040 üzenetére

    És ha ezt kommenteled ki?
    #include <WiFi.h>
    #include <FastLED.h>

    Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

  • Tankblock

    aktív tag

    válasz Xpod #12040 üzenetére

    Szia,

    bemásolnád mi a hiba?
    Nekem van projectem, igaz nem használok Arduinot, hanem ESP-idf et c++ szal.
    CSak nyitottam egy plusz UART ot és megnéztem mit kell küldeni a Nextionnak, és fut két task, egy Tx és egy Rx... MQTT-n keresztül megy a villanykapcsolók és egy BMP280 szenzor adatokat tolok át meg vissza....

    #define TXD_PIN (GPIO_NUM_17)
    #define RXD_PIN (GPIO_NUM_16)
    #define nUART (UART_NUM_2)

    void initNextion() {
        const uart_config_t uart_config = {
            .baud_rate = 115200,
            .data_bits = UART_DATA_8_BITS,
            .parity = UART_PARITY_DISABLE,
            .stop_bits = UART_STOP_BITS_1,
            .flow_ctrl = UART_HW_FLOWCTRL_DISABLE
        };
        uart_param_config(nUART, &uart_config);
        uart_set_pin(nUART, TXD_PIN, RXD_PIN, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE);
        // We won't use a buffer for sending data.
        uart_driver_install(nUART, RX_BUF_SIZE * 2, 0, 0, NULL, 0);
    }


    int sendData(const char* logName, const char* data)
    {
    const int len = strlen(data);
    const int txBytes = uart_write_bytes(nUART, data, len);
    ESP_LOGI(logName, "Wrote %d bytes\n", txBytes);
    ESP_LOGI(logName, "#%s#\n", data);
    return txBytes;
    }
      

    void TxTask(void * parameters) {
     string store ="";
     //store += "page0.temp1.txt=\"11\"";
     //store += endData;
     //UBaseType_t ip;
     int qL;
     mqttTopic x;
     while (1) {
      // OK so here is where you can play around and change values or add text and/or numeric fields to the Nextion and update them
      qL = uxQueueMessagesWaiting(queueTopic);
      for(int i = 0; i< qL;i++)
      {
       xQueueReceive(queueTopic,&x,portMAX_DELAY);
       store.clear();
       if( x.sTopic == "livingroom/lightswitch/status")
       {
        store += "page2.livingroom.val=";
        store += (x.sData=="ON") ?"1":"0";
        store += endData;
        sendData(TX_TASK_TAG, store.c_str());
       } 

    ....

    void RxTask(void * parameters) {
    ....
    string sdata;
    while (1) {
    sdata.clear();
    xEventGroupWaitBits(wifi_event_group, CONNECTED_BIT, false,true, 5000 / portTICK_PERIOD_MS);
    const int rxBytes = uart_read_bytes(nUART, data, RX_BUF_SIZE, 500 / portTICK_RATE_MS);
    if (rxBytes > 0) {
    data[rxBytes] = 0;
    ESP_LOGI(RX_TASK_TAG, "Read %d bytes: '%s'", rxBytes, data);
    ESP_LOG_BUFFER_HEXDUMP(RX_TASK_TAG, data, rxBytes, ESP_LOG_INFO);
    sdata += (char *)data;
    printf("RxTask: #%s#",sdata.c_str());
    if(sdata == "livingroom ON") {
    esp_mqtt_client_publish(client, "livingroom/lightswitch/switch", "ON", 0, 0, 0);
    }




    Valahogy így ....

    Release the Beast....

Új hozzászólás Aktív témák