2026年3月1日 星期日

GOOGLE不小心按了改成韓文,改變語言設定

 


好奇點了上面的其他語言版本,結果搞了一會才改回中文,提供修改流程給需要的人






2025年6月1日 星期日

visual studio python 有中文就失敗 編碼錯誤

因為找到的解法是簡體中文,所以這裡提供繁體中文版的


工具-->自訂

命令-->功能表列-->檔案-->加入命令-->檔案-->進階儲存選項-->確定





錯誤訊息很長,但實測就是有中文就會跳錯誤

----------------------------------------------------------------------

 Traceback (most recent call last):

  File "C:\Users\vincent\AppData\Local\Programs\Python\Python311\Lib\runpy.py", line 198, in _run_module_as_main

    return _run_code(code, main_globals, None,

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "C:\Users\vincent\AppData\Local\Programs\Python\Python311\Lib\runpy.py", line 88, in _run_code

    exec(code, run_globals)

  File "c:\program files\microsoft visual studio\2022\community\common7\ide\extensions\microsoft\python\core\debugpy\adapter/../..\debugpy\launcher/../..\debugpy\__main__.py", line 39, in <module>

    cli.main()

  File "c:\program files\microsoft visual studio\2022\community\common7\ide\extensions\microsoft\python\core\debugpy\adapter/../..\debugpy\launcher/../..\debugpy/..\debugpy\server\cli.py", line 430, in main

    run()

  File "c:\program files\microsoft visual studio\2022\community\common7\ide\extensions\microsoft\python\core\debugpy\adapter/../..\debugpy\launcher/../..\debugpy/..\debugpy\server\cli.py", line 284, in run_file

    runpy.run_path(target, run_name="__main__")

  File "c:\program files\microsoft visual studio\2022\community\common7\ide\extensions\microsoft\python\core\debugpy\_vendored\pydevd\_pydevd_bundle\pydevd_runpy.py", line 320, in run_path

0x1 執行緒以返回碼 0 (0x0) 結束。

    code, fname = _get_code_from_file(run_name, path_name)

                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "c:\program files\microsoft visual studio\2022\community\common7\ide\extensions\microsoft\python\core\debugpy\_vendored\pydevd\_pydevd_bundle\pydevd_runpy.py", line 294, in _get_code_from_file

    code = compile(f.read(), fname, 'exec')

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "C:\Users\vincent\source\repos\PythonApplication0327\PythonApplication0327\PythonApplication0327.py", line 1

    print("123  @")

                  ^

SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xa4 in position 4: invalid start byte

'python.exe' 程式以返回碼 4294967295 (0xffffffff) 結束。

2024年1月13日 星期六

Arduino 網頁控制紅外線發射 增加網頁按鈕

 #include <ESP8266WiFi.h>


#include <Arduino.h>
#include <IRremoteESP8266.h>
#include <IRsend.h>

const uint16_t kIrLed = 4;  // ESP8266 GPIO pin to use. Recommended: 4 (D2).
IRsend irsend(kIrLed);  // Set the GPIO to be used to sending the message.

#ifndef STASSID
#define STASSID "POCO X3 Pro"
#define STAPSK "66666666"
#endif

const char* ssid = STASSID;
const char* password = STAPSK;

// Create an instance of the server
// specify the port to listen on as an argument
WiFiServer server(80);

void setup() {
  Serial.begin(115200);

  irsend.begin();

  // prepare LED
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, 0);

  // Connect to WiFi network
  Serial.println();
  Serial.println();
  Serial.print(F("Connecting to "));
  Serial.println(ssid);

  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(F("."));
  }
  Serial.println();
  Serial.println(F("WiFi connected"));

  // Start the server
  server.begin();
  Serial.println(F("Server started"));

  // Print the IP address
  Serial.println(WiFi.localIP());
}

void loop() {
  // Check if a client has connected
  WiFiClient client = server.accept();
  if (!client) { return; }
  Serial.println(F("new client"));

  client.setTimeout(5000);  // default is 1000

  // Read the first line of the request
  String req = client.readStringUntil('\r');
  Serial.println(F("request: "));
  Serial.println(req);

  // Match the request
  int val,IR;
  if (req.indexOf(F("/gpio/0")) != -1) {
    val = 0;
  } else if (req.indexOf(F("/gpio/1")) != -1) {
    val = 1;}
    else if (req.indexOf(F("/IRon")) != -1)
    {IR = 0;
    Serial.println("NEC");
    irsend.sendNEC(0xCF20D);
    }
    else if (req.indexOf(F("/IRoff")) != -1)
    {IR = 1;
    }
    else {
    Serial.println(F("invalid request"));
    val = digitalRead(LED_BUILTIN);
  }

  // Set LED according to the request
  digitalWrite(LED_BUILTIN, val);

  // read/ignore the rest of the request
  // do not client.flush(): it is for output only, see below
  while (client.available()) {
    // byte by byte is not very efficient
    client.read();
  }

  // Send the response to the client
  // it is OK for multiple small client.print/write,
  // because nagle algorithm will group them into one single packet
  client.print(F("HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n"));
  client.print(WiFi.localIP());
  client.print(F("This hostname:\n"));//读取当前的hostname并输出
  client.print(WiFi.hostname());
  client.print(F("&nbsp;"));
  client.print(F("GPIO is now "));
  client.print((val) ? F("high") : F("low"));

  client.print(F("&nbsp;"));
  client.print(F("Click <a href='http://"));
  client.print(WiFi.localIP());
  client.print(F("/gpio/0'>here</a> to switch LED GPIO on, or <a href='http://"));
  client.print(WiFi.localIP());
  client.print(F("/gpio/1'>here</a> to switch LED GPIO off. Or <a href='http://"));
  client.print(WiFi.localIP());
  client.print(F("/IRon'>here</a> to send IR on."));

  client.print(F("<br><br>"));
  client.print(F("192.168.179.146"));
  client.print(F("&nbsp;"));
  client.print(F("Click <a href='http://"));
  client.print(F("192.168.179.146"));
  client.print(F("/gpio/0'>here</a> to switch LED GPIO on, or <a href='http://"));
  client.print(F("192.168.179.146"));
  client.print(F("/gpio/1'>here</a> to switch LED GPIO off. Or <a href='http://"));
  client.print(F("192.168.179.146"));
  client.print(F("/IRon'>here</a> to send IR on."));

  client.print(F("&nbsp;"));
  client.print(F(" <p><a href=\"/192.168.179.146/IRon\">"));
  client.print(F(" <button class=\"button\"  style=\"width:360px;height:120px;font-size:40px;background-color:green;\" >ON</button></a> "));
  client.print(F(" <a href=\"/192.168.179.146/IRoff\">"));
  client.print(F(" <button class=\"button\"  style=\"width:360px;height:120px;font-size:40px;background-color:red;\" >OFF</button></a></p> "));

  client.print(F("<br><br>"));
  client.print(F("192.168.179.246"));
  client.print(F("&nbsp;"));
  client.print(F("Click <a href='http://"));
  client.print(F("192.168.179.246"));
  client.print(F("/gpio/0'>here</a> to switch LED GPIO on, or <a href='http://"));
  client.print(F("192.168.179.246"));
  client.print(F("/gpio/1'>here</a> to switch LED GPIO off. Or <a href='http://"));
  client.print(F("192.168.179.246"));
  client.print(F("/IRon'>here</a> to send IR on."));

  client.print(F("&nbsp;"));
  client.print(F(" <p><a href=\"/192.168.179.146/IRon\">"));
  client.print(F(" <button class=\"button\"  style=\"width:360px;height:120px;font-size:40px;background-color:green;\" >ON</button></a> "));
  client.print(F(" <a href=\"/192.168.179.146/IRoff\">"));
  client.print(F(" <button class=\"button\"  style=\"width:360px;height:120px;font-size:40px;background-color:red;\" >OFF</button></a></p> "));

  client.print(F("</html>"));

  // The client will actually be *flushed* then disconnected
  // when the function returns and 'client' object is destroyed (out-of-scope)
  // flush = ensure written data are received by the other side
  Serial.println(F("Disconnecting from client"));
}

2024年1月10日 星期三

Arduino 多台網頁互控發射紅外線 [架構說明]

固定IP 多個webserver


每個Arduino都開啟一個webServer

每個webServer都能夠接收超連結網址

所以無論是開關都是輸入網址

也就是沒有網頁其實也能藉由背好的網址控制。


但是這些Arduino必須在同一個WiFi下,

也就是同個區網內,

才能彼此互相靠網址溝通。


所以client只要是能連上那個WiFi,再有瀏覽器就能操控所有Arduino

Arduino HTML 按鈕超連結

參考

https://sites.google.com/view/rayarduino/esp32-web-server_two_leds 



<HTML>

<HEAD>

<TITLE>語法練習版</TITLE>

</HEAD>

<BODY>


<input type="button" value="ON" style="width:120px;height:40px;font-size:20px;background-color:green;"  onclick="location.href='你要前往的網址'">

<input type="button" value="OFF" style="width:120px;height:40px;font-size:20px;background-color:red;"  onclick="location.href='你要前往的網址'">


</BODY>

</HTML>

這段不知怎融合Arduino

------------------------------------------------------------------------------------------------------------

Arduino可用 參考連結融合

  client.print(F("&nbsp;"));
  client.print(F(" <p><a href=\"/192.168.179.146/IRon\">"));
  client.print(F(" <button class=\"button\"  style=\"width:360px;height:120px;font-size:40px;background-color:green;\" >ON</button></a> "));
  client.print(F(" <a href=\"/192.168.179.146/IRoff\">"));
  client.print(F(" <button class=\"button\"  style=\"width:360px;height:120px;font-size:40px;background-color:red;\" >OFF</button></a></p> "));



GOOGLE不小心按了改成韓文,改變語言設定

  好奇點了上面的其他語言版本,結果搞了一會才改回中文,提供修改流程給需要的人