Skip to main content

New

76th Independence Day of India,15 agust

ESP8266 and Node-RED with MQTT

આ પોસ્ટમાં અમે તમને ESP8266 આઉટપુટને કેવી રીતે નિયંત્રિત કરવું અને નોડ-રેડ પર ESP8266 માંથી સેન્સર ડેટા પ્રદર્શિત કરવા તે બતાવવા જઈશું. નોડ-રેડ સ  software Raspberry Pi પર ચાલે છે, NODEMCU 8266 અને નોડ-રેડ સ softwareફ્ટવેર વચ્ચેનો સંપર્ક એમક્યુટીટી કમ્યુનિકેશન પ્રોટોકોલથી પ્રાપ્ત થાય છે.

નીચે આપેલ આકૃતિ આ ટ્યુટોરીયલમાં આપણે શું કરવા જઈશું તેની એક ઝાંખી બતાવે છે.
નોડ-રેડ અને નોડ-રેડ ડેશબોર્ડ

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



તમારે તમારા રાસ્પબરી પાઇમાં નોડ-રેડ અને નોડ-રેડ ડેશબોર્ડ ઇન્સ્ટોલ કરવું આવશ્યક છે. નીચેની બ્લ blog પોસ્ટ્સ નોડ-રેડ અને નોડ-રેડ ડેશબોર્ડથી પ્રારંભ કરવા માટે ઉપયોગી છે:

    રાસ્પબરી પાઇ પર નોડ-રેડ સાથે પ્રારંભ
    નોડ-રેડ ડેશબોર્ડથી પ્રારંભ કરો
એમક્યુટીટી પ્રોટોકોલ

આ ટ્યુટોરીયલમાં આપણે રાસબેરિ પાઇ નોડ-રેડ સ software ચલાવતા અને એમક્યુટીટીનો ઉપયોગ કરીને

NODEMCU 8266 વચ્ચે સંપર્ક સ્થાપિત કરવા જઈ રહ્યા છીએ.MQTT એ એમક્યુ ટેલિમેટ્રી ટ્રાન્સપોર્ટનો અર્થ છે અને તે એક સરસ લાઇટવેઇટ પબ્લિશ અને સબ્સ્ક્રાઇબ સિસ્ટમ છે જ્યાં તમે ક્લાઈન્ટ તરીકે સંદેશા પ્રકાશિત અને પ્રાપ્ત કરી શકો છો. તે એક સરળ મેસેજિંગ પ્રોટોકોલ છે, જે નિયંત્રિત ઉપકરણો માટે અને લો-બેન્ડવિડ્થ સાથે રચાયેલ છે. તેથી, તે INTERNET OF THINGS એપ્લિકેશનોનો સંપૂર્ણ ઉપાય છે.

જો તમે એમક્યુટીટી વિશે વધુ જાણવા માંગતા હો, તો નીચેની વિડિઓ જુઓ.





મોસ્કિટ્ટો બ્રોકર સ્થાપિત કરી રહ્યું છે

એમક્યુટીટીમાં, બ્રોકર મુખ્યત્વે બધા સંદેશા પ્રાપ્ત કરવા, સંદેશાઓને ફિલ્ટર કરવા, તેમાં કોને રસ છે તે નક્કી કરવા અને પછી બધા સબ્સ્ક્રાઇબ કરેલા ગ્રાહકોને સંદેશ પ્રકાશિત કરવા માટે મુખ્યત્વે જવાબદાર છે.

ત્યાં ઘણા દલાલો છે જેનો તમે ઉપયોગ કરી શકો છો. આ ટ્યુટોરીયલમાં આપણે મોસ્ક્વિટ્ટો બ્રોકરનો ઉપયોગ કરવા જઈ રહ્યા છીએ જેને રાસ્પબેરી પાઇ પર ઇન્સ્ટોલ કરવાની જરૂર છે.

રાસ્પબેરી પી પર મોસ્ક્વિટ્ટો બ્રોકર સ્થાપિત કરવા માટે આ ટ્યુટોરીયલને અનુસરો: રાસ્પબેરી પી પર મોસ્કિટ્ટો બ્રોકર કેવી રીતે ઇન્સ્ટોલ કરવું.



Testing

મોસ્ક્યુટ્ટો દલાલ સફળતાપૂર્વક સ્થાપિત થયેલ છે કે કેમ તે જોવા માટે, આગળનો આદેશ ચલાવો:


pi@raspberry:~ $ mosquitto -v


આ મોસ્ક્વિટો સંસ્કરણ આપે છે જે હાલમાં તમારા રાસ્પબરી પાઇમાં ચાલી રહ્યું છે. તે 1.4 અથવા તેથી વધુ હોવું જોઈએ.




નોડ-રેડ સાથે એમક્યુટીટી કમ્યુનિકેશનની સ્થાપના

આ વિભાગમાં આપણે નોડ-રેડ ગાંઠોનો ઉપયોગ કરીને એક એમક્યુટીટી સંચાર સ્થાપિત કરીશું.
ડેશબોર્ડ લેઆઉટ




પ્રથમ પગલું ડેશબોર્ડ લેઆઉટ બનાવવાનું છે. આ ઉદાહરણમાં, અમારી પાસે ESP8266 આઉટપુટને નિયંત્રિત કરવા માટે બટન હશે; ડીએચટી 11 સેન્સરથી તાપમાન અને ભેજનું વાંચન પ્રદર્શિત કરવા માટે એક ચાર્ટ અને ગેજ.



નોડ-રેડ વિંડોના ઉપરના જમણા ખૂણા પર, ડેશબોર્ડ ટેબ હેઠળ લેઆઉટ ટેબ પસંદ કરો. રૂમ નામનું એક ટેબ બનાવો અને રૂમ ટેબની અંદર, બે જૂથો બનાવો: દીવો અને સેન્સર નીચેની આકૃતિમાં બતાવ્યા પ્રમાણે.



પ્રવાહ બનાવી રહ્


યા છે



પ્રવાહ માટે નીચેના ગાંઠો ખેંચો - નીચે આકૃતિ જુઓ:



    સ્વીચ - આ ESP8266 આઉટપુટને નિયંત્રિત કરશે
    એમક્યુટીટી આઉટપુટ નોડ - આ સ્વીચ સ્થિતિ અનુસાર ઇએસપી 8266 ને સંદેશ પ્રકાશિત કરશે
    2x એમક્ટીટી ઇનપુટ નોડ્સ - ઇએસપી પાસેથી સેન્સર ડેટા પ્રાપ્ત કરવા માટે આ ગાંઠો તાપમાન અને ભેજ વિષયના સબ્સ્ક્રાઇબ થશે
    ચાર્ટ - તાપમાન સેન્સર રીડિંગ્સ પ્રદર્શિત કરશે
    ગેજ - ભેજ સેન્સર રીડિંગ્સ પ્રદર્શિત કરશે

નોડ-રેડ અને એમક્યુટીટી બ્રોકરને કનેક્ટ થવાની જરૂર છે. ન્યુક-આરઈડી સાથે એમક્યુટીટી બ્રોકરને કનેક્ટ કરવા માટે, એમક્યુટીટી આઉટપુટ નોડ પર ડબલ-ક્લિક કરો. નવી વિંડો પsપ અપ - નીચે આકૃતિમાં બતાવ્યા પ્રમાણે



નવું એમક્ટીએટીટી-બ્રોકર ઉમેરો વિકલ્પને ક્લિક કરો.
સર્વર ફીલ્ડમાં લોકલહોસ્ટ લખો



અન્ય બધી સેટિંગ્સ ડિફ byલ્ટ રૂપે યોગ્ય રીતે ગોઠવેલ છે.
ઉમેરો દબાવો અને એમક્યુટીટી આઉટપુટ નોડ આપમેળે તમારા બ્રોકર સાથે કનેક્ટ થાય છે.

સ્વીચ - જ્યારે ચાલુ હોય ત્યારે સ્વીચ anન સ્ટ્રિંગ સંદેશ મોકલે છે; અને stringફ સ્ટ્રિંગ મેસેજ મોકલે છે જ્યારે તે બંધ હોય. આ નોડ ખંડ / દીવો વિષય પર પ્રકાશિત કરશે. પછી તમારા ઇએસપીને તેના સંદેશા પ્રાપ્ત કરવા માટે, આ મુદ્દા પર સબ્સ્ક્રાઇબ કરવામાં આવશે.


mqtt આઉટપુટ નોડ. આ નોડ મચ્છર દલાલ સાથે જોડાયેલ છે અને તે ઓરડા / દીવો વિષયમાં પ્રકાશિત કરશે.

 



mqtt ઇનપુટ નોડ. ESP8266 માંથી તાપમાન સેન્સર ડેટા પ્રાપ્ત કરવા માટે આ નોડ ખંડ / તાપમાનના વિષય પર સબ્સ્ક્રાઇબ થયેલ છે. ESP8266 આ મુદ્દા પર તાપમાન વાંચનને ધ્યાને રાખશે.



ચાર્ટ. ચાર્ટ ખંડ / તાપમાનના વિષય પર પ્રાપ્ત રીડિંગ્સ પ્રદર્શિત કરશે.

 mqtt ઇનપુટ નોડ. ESP8266 માંથી ભેજ સેન્સર ડેટા પ્રાપ્ત કરવા માટે આ નોડ ખંડ / ભેજ વિષય પર સબ્સ્ક્રાઇબ થયેલ છે. ESP8266 આ જ વિષય પર ભેજનું વાંચન દબાણ કરશે.

ગેજ. ગેજ રૂમ / ભેજ વિષય પર પ્રાપ્ત રીડિંગ્સ પ્રદર્શિત કરશે.
તમારા આર્દુનો IDE તૈયાર કરી રહ્યા છીએ

અમે અરડિનો આઇડીઇનો ઉપયોગ કરીને ESP8266 પ્રોગ્રામ કરીશું. અરડિનો IDE નો ઉપયોગ કરીને તમારા ESP8266 પર કોડ અપલોડ કરવા માટે, તમારે ESP8266 82ડ-installન સ્થાપિત કરવું પડશે (અરડુનો IDE માં ESP8266 બોર્ડ કેવી રીતે ઇન્સ્ટોલ કરવું). તમારા ESP8266 માટે બધું તૈયાર રાખવા માટે તમારે બે વધારાની પુસ્તકાલયો પણ ઇન્સ્ટોલ કરવાની રહેશે.
પબસબ્લ્યુઅન્ટ લાઇબ્રેરી સ્થાપિત કરી રહ્યું છે

પબસબ્લક્લાયન્ટ લાઇબ્રેરી, સર્વર સાથે સરળ પબ્લિશ / સબ્સ્ક્રાઇબ મેસેજિંગ કરવા માટે ક્લાયંટ પ્રદાન કરે છે જે એમક્યુટીટીને સપોર્ટ કરે છે (મૂળભૂત રીતે તમારા ઇએસપી 8266 ને નોડ-રેડ સાથે વાત કરવાની મંજૂરી આપે છે).

1) પબસ્બ્લક્લાયન્ટ લાઇબ્રેરીને ડાઉનલોડ કરવા અહીં ક્લિક કરો. તમારી પાસે તમારા ડાઉનલોડ્સ ફોલ્ડરમાં. ઝિપ ફોલ્ડર હોવું જોઈએ

2). ઝિપ ફોલ્ડરને અનઝિપ કરો અને તમારે પબ્સબ્લક્લિએન્ટ-માસ્ટર ફોલ્ડર મેળવવું જોઈએ

3) તમારા ફોલ્ડરને પબ્સબ્લક્લીઅનથી નામ બદલો


/*****
 
 All the resources for this project:
 https://randomnerdtutorials.com/
 
*****/

#include <ESP8266WiFi.h>
#include <PubSubClient.h>
#include "DHT.h"

// Uncomment one of the lines bellow for whatever DHT sensor type you're using!
#define DHTTYPE DHT11   // DHT 11
//#define DHTTYPE DHT21   // DHT 21 (AM2301)
//#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321

// Change the credentials below, so your ESP8266 connects to your router
const char* ssid = "REPLACE_WITH_YOUR_SSID";
const char* password = "REPLACE_WITH_YOUR_PASSWORD";

// Change the variable to your Raspberry Pi IP address, so it connects to your MQTT broker
const char* mqtt_server = "REPLACE_WITH_YOUR_RPI_IP_ADDRESS";

// Initializes the espClient. You should change the espClient name if you have multiple ESPs running in your home automation system
WiFiClient espClient;
PubSubClient client(espClient);

// DHT Sensor - GPIO 5 = D1 on ESP-12E NodeMCU board
const int DHTPin = 5;

// Lamp - LED - GPIO 4 = D2 on ESP-12E NodeMCU board
const int lamp = 4;

// Initialize DHT sensor.
DHT dht(DHTPin, DHTTYPE);

// Timers auxiliar variables
long now = millis();
long lastMeasure = 0;

// Don't change the function below. This functions connects your ESP8266 to your router
void setup_wifi() {
  delay(10);
  // We start by connecting to a WiFi network
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("WiFi connected - ESP IP address: ");
  Serial.println(WiFi.localIP());
}

// This functions is executed when some device publishes a message to a topic that your ESP8266 is subscribed to
// Change the function below to add logic to your program, so when a device publishes a message to a topic that 
// your ESP8266 is subscribed you can actually do something
void callback(String topic, byte* message, unsigned int length) {
  Serial.print("Message arrived on topic: ");
  Serial.print(topic);
  Serial.print(". Message: ");
  String messageTemp;
  
  for (int i = 0; i < length; i++) {
    Serial.print((char)message[i]);
    messageTemp += (char)message[i];
  }
  Serial.println();

  // Feel free to add more if statements to control more GPIOs with MQTT

  // If a message is received on the topic room/lamp, you check if the message is either on or off. Turns the lamp GPIO according to the message
  if(topic=="room/lamp"){
      Serial.print("Changing Room lamp to ");
      if(messageTemp == "on"){
        digitalWrite(lamp, HIGH);
        Serial.print("On");
      }
      else if(messageTemp == "off"){
        digitalWrite(lamp, LOW);
        Serial.print("Off");
      }
  }
  Serial.println();
}

// This functions reconnects your ESP8266 to your MQTT broker
// Change the function below if you want to subscribe to more topics with your ESP8266 
void reconnect() {
  // Loop until we're reconnected
  while (!client.connected()) {
    Serial.print("Attempting MQTT connection...");
    // Attempt to connect
    /*
     YOU MIGHT NEED TO CHANGE THIS LINE, IF YOU'RE HAVING PROBLEMS WITH MQTT MULTIPLE CONNECTIONS
     To change the ESP device ID, you will have to give a new name to the ESP8266.
     Here's how it looks:
       if (client.connect("ESP8266Client")) {
     You can do it like this:
       if (client.connect("ESP1_Office")) {
     Then, for the other ESP:
       if (client.connect("ESP2_Garage")) {
      That should solve your MQTT multiple connections problem
    */
    if (client.connect("ESP8266Client")) {
      Serial.println("connected");  
      // Subscribe or resubscribe to a topic
      // You can subscribe to more topics (to control more LEDs in this example)
      client.subscribe("room/lamp");
    } else {
      Serial.print("failed, rc=");
      Serial.print(client.state());
      Serial.println(" try again in 5 seconds");
      // Wait 5 seconds before retrying
      delay(5000);
    }
  }
}

// The setup function sets your ESP GPIOs to Outputs, starts the serial communication at a baud rate of 115200
// Sets your mqtt broker and sets the callback function
// The callback function is what receives messages and actually controls the LEDs
void setup() {
  pinMode(lamp, OUTPUT);
  
  dht.begin();
  
  Serial.begin(115200);
  setup_wifi();
  client.setServer(mqtt_server, 1883);
  client.setCallback(callback);

}

// For this project, you don't need to change anything in the loop function. Basically it ensures that you ESP is connected to your broker
void loop() {

  if (!client.connected()) {
    reconnect();
  }
  if(!client.loop())
    client.connect("ESP8266Client");

  now = millis();
  // Publishes new temperature and humidity every 30 seconds
  if (now - lastMeasure > 30000) {
    lastMeasure = now;
    // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
    float h = dht.readHumidity();
    // Read temperature as Celsius (the default)
    float t = dht.readTemperature();
    // Read temperature as Fahrenheit (isFahrenheit = true)
    float f = dht.readTemperature(true);

    // Check if any reads failed and exit early (to try again).
    if (isnan(h) || isnan(t) || isnan(f)) {
      Serial.println("Failed to read from DHT sensor!");
      return;
    }

    // Computes temperature values in Celsius
    float hic = dht.computeHeatIndex(t, h, false);
    static char temperatureTemp[7];
    dtostrf(hic, 6, 2, temperatureTemp);
    
    // Uncomment to compute temperature values in Fahrenheit 
    // float hif = dht.computeHeatIndex(f, h);
    // static char temperatureTemp[7];
    // dtostrf(hif, 6, 2, temperatureTemp);
    
    static char humidityTemp[7];
    dtostrf(h, 6, 2, humidityTemp);

    // Publishes Temperature and Humidity values
    client.publish("room/temperature", temperatureTemp);
    client.publish("room/humidity", humidityTemp);
    
    Serial.print("Humidity: ");
    Serial.print(h);
    Serial.print(" %\t Temperature: ");
    Serial.print(t);
    Serial.print(" *C ");
    Serial.print(f);
    Serial.print(" *F\t Heat index: ");
    Serial.print(hic);
    Serial.println(" *C ");
    // Serial.print(hif);
    // Serial.println(" *F");
  }
} કોડ અપલોડ કર્યા પછી, અને રાસ્પબરી પાઇ તમારી નોડ-આરઇડી એપ્લિકેશન અને મોસ્કિટ્ટો બ્રોકર ચલાવશે પછી, તમે 115200 ના બાઉડ દરે આર્ડિનો આઈડીઈ સીરીયલ મોનિટર ખોલી શકો છો અને રીઅલ ટાઇમમાં શું થઈ રહ્યું છે તે જોઈ શકો છો.

ESP એ તમારા રાઉટર અને મોસ્ક્વિટ્ટો બ્રોકર સાથે સફળ જોડાણ સ્થાપિત કર્યું છે કે કેમ તે તપાસવામાં આ મદદરૂપ છે. તમે ઇએસપી પ્રાપ્ત કરેલા અને પ્રકાશિત થયેલા સંદેશાઓને પણ જોઈ શકો છો.
 






 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Comments

Popular posts from this blog

INTERNATIONAL YOGA DAY - June 21, 2022

  *આંતરરા ષ્ટ્રીય યોગ દિવસ  INTERNATIONAL YOGA DAY - June 21, 2022  આંતરરાષ્ટ્રીય યોગ દિવસ 2022: થીમ, ઇતિહાસ, મહત્વ અને ઉજવણીઓ તપાસો આંતરરાષ્ટ્રીય યોગ દિવસ 2022: 8મો આંતરરાષ્ટ્રીય યોગ દિવસ 21 જૂને ઉજવવામાં આવે છે. ચાલો આપણે દિવસની ઉજવણી, થીમ, ઈતિહાસ અને ઉદ્દેશ્યો પર વિગતવાર નજર કરીએ. *આંતરરાષ્ટ્રીય યોગ દિવસ  આંતરરાષ્ટ્રીય યોગ દિવસ 2022: યોગના ફાયદાઓ વિશે જાગૃતિ ફેલાવવા માટે 21 જૂનના રોજ ઉજવવામાં આવે છે. આ વર્ષે તે આંતરરાષ્ટ્રીય યોગ દિવસની 8મી આવૃત્તિ છે. આંતરરાષ્ટ્રીય યોગ દિવસ 2022 પ્રદર્શનનો મુખ્ય કાર્યક્રમ મૈસુર, કર્ણાટક ખાતે યોજાશે. તેનું નેતૃત્વ વડાપ્રધાન નરેન્દ્ર મોદી કરશે. *આંતરરાષ્ટ્રીય યોગ દિવસ 2022   યોગના શારીરિક અને માનસિક સ્વાસ્થ્ય બંને માટે ઘણા ફાયદા છે. તે એક અમૂલ્ય પ્રાચીન ભારતીય પ્રથા છે. રોગચાળાના સમયમાં જ્યારે લોકો તણાવમાં હોય, લોકોની અવરજવર પર નિયંત્રણો હોય, વગેરે યોગ શારીરિક અને માનસિક સ્વસ્થતા જાળવવામાં મદદ કરશે. તે યોગ્ય રીતે કહેવાય છે કે યોગ માત્ર શારીરિક અને માનસિક આરામ જ નહીં પરંતુ શક્તિ અને સ્થિતિસ્થાપકતાનો પણ વિકાસ કરે છે. વિશ્વ યોગ દિવસ 21 જૂને સમગ્ર વિશ્વમા

Guru Purnima 2022 ગુરુ પૂર્ણિમા 13 જુલાઈ, 9 શુભ યોગોનો મહાસંયોગ,

Guru Purnima 2022 ગુરુ પૂર્ણિમા 13 જુલાઈ, 9 શુભ યોગોનો મહાસંયોગ,  ગુરુ પૂર્ણિમા 2022: ગુરુ પૂર્ણિમા શા માટે ઉજવવામાં આવે છે? આ વર્ષની ગુરુ પૂર્ણિમા શા માટે છે ખાસ, જાણો તેનું મહત્વ અને મહિમા ગુરુ પૂર્ણિમા શા માટે ઉજવવામાં આવે છે: ગુરુ બ્રહ્મા ગુરુ વિષ્ણુ, ગુરુ દેવો મહેશ્વર ગુરુ સાક્ષાત પરબ્રહ્મ, તસ્મૈ શ્રી ગુરુવે નમઃ એટલે કે ગુરુ બ્રહ્મા, ગુરુ વિષ્ણુ અને ગુરુ મહેશ. ગુરુ જ સાચા પરબ્રહ્મ છે, એવા ગુરુને હું નમન કરું છું. કોઈપણ મનુષ્યની માતા પ્રથમ શિક્ષક છે, પશુ-પક્ષીઓમાં પણ, જે આપણને સાંસારિક મૂલ્યો આપે છે. પરંતુ માતાની કેળવણી-દીક્ષા પછી ગુરુ જ કરે છે, જે જીવન માટે ખૂબ જ જરૂરી છે, જીવનના મહાસાગરને ઓળંગે તેવું શિક્ષણ ગુરુ જ આપી શકે છે, ગુરુના જ્ઞાનથી પણ ભગવાનના દર્શન શક્ય છે. . કદાચ ત્યારે જ માનવીએ ધીરે ધીરે પ્રગતિ કરી કારણ કે માતા સિવાય તેની પાસે એક શિક્ષક પણ હતો, જે અન્ય જીવો પાસે ન હતો. હિન્દુ ધર્મમાં ભગવાન કરતાં ગુરુનો મહિમા વધુ વર્ણવવામાં આવ્યો છે. અને આ દિવસ ગુરુની યાદમાં પણ ઉજવવામાં આવે છે, જેને આપણે ગુરુ પૂર્ણિમા કહીએ છીએ. ગુરુ પૂર્ણિમા અષાઢ અથવા જૂન-જુલાઈ મહિનામાં પૂર્ણિમાના દિવસે

International Picnic Day (June 18th)

  International Picnic Day (June 18th) ઘણીવાર એવો દાવો કરવામાં આવે છે કે જીવન કોઈ પિકનિક નથી - પરંતુ આજે તે છે! ઇન્ટરનેશનલ પિકનિક ડે એ મિત્રો અથવા પરિવાર સાથે ખુલ્લી હવામાં ખાવાની તક છે. જૂનના મધ્યમાં અનુકૂળ રીતે મૂકવામાં આવે છે, ઘણા લોકો માટે આનો અર્થ એ છે કે હવામાન સારું હોવું જોઈએ અને સૂર્ય ચમકતો હોવો જોઈએ (ઓછામાં ઓછા ઉત્તર ગોળાર્ધમાં). પરંતુ જો હવામાન સહકાર આપવા માંગતા ન હોય તો પણ, અંદરની પિકનિક એક શ્રેષ્ઠ વિકલ્પ બની શકે છે. ફક્ત ફ્લોર પર ધાબળો ફેલાવો અને સાદા ભોજનનો આનંદ માણો! *તો તે પિકનિક બાસ્કેટ તૈયાર કરો અને આંતરરાષ્ટ્રીય પિકનિક દિવસની ઉજવણી શરૂ કરો. *આંતરરાષ્ટ્રીય પિકનિક દિવસનો ઇતિહાસ "પિકનિક" શબ્દ કદાચ ફ્રેન્ચ ભાષામાંથી આવ્યો છે, ખાસ કરીને "પિક-નિક" શબ્દ પરથી. એવું માનવામાં આવે છે કે આ પ્રકારનું અનૌપચારિક આઉટડોર ભોજન 1800 ના દાયકાના મધ્યમાં ફ્રેન્ચ ક્રાંતિ પછી ફ્રાન્સમાં લોકપ્રિય મનોરંજન બની ગયું હતું જ્યારે દેશના શાહી ઉદ્યાનોમાં ફરી જવાનું શક્ય બન્યું હતું. જો કે, જો તે ફ્રાન્સમાં શરૂ થયું હોય, તો પણ તે એક સુંદર પ્રવૃત્તિ બની ગઈ છે જે સમગ્ર વિશ્વમાં ફેલા