İçindekiler:
- Adım 1: Bir Sua Dragonboard 410C hazırlayın
- 2. Adım: Bir Sua Cloud API'si hazırlayın
- Adım 3: Installo E Manipulando O Modulo GSM
- Adım 4: Hazırlama Dispositivos Para Se Comunicar Com a Dragonboard
- Adım 5: Finali Düşünün
Video: Comunicação IoT Com a Dragonboard 410C: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Bu, en basit şekilde, en iyi şekilde, en iyi şekilde, IoT para a sua casa için karşılaştırmalı ürünler. Abrir uma cortina, ligar uma tomada, ajustar a temperatura de um Environmente, monitöramento de segurança, entre outros yararları de ekipman IoT.
Agora, diziler arası dönüştürücü esses uyarılar das "coisas" da sua casa, em solicitações de serviço, e ainda melhor, em serviços que você conhece e que já está acostumado. O ticari "zé da agua" não tem condições de entrar num grande pazaryeri para satıcısı bir sua gua e tão pouco ter recursos para talepler e manter um sistema de pedidos.
Para que você, serviços como o do seu 'Zé da água', que você semper confiou, será mostrado como montar bir temel de uma plataforma IoT com a dragonboard, para çözücü essa comunicação kullanın.
Adım 1: Bir Sua Dragonboard 410C hazırlayın
Neste passo vamos bir nossa Drabonboard 410C para se tornar o ağ geçidi ve nossa estrutura IoT dentro da sua casa hazırlar.
Primeiramente, vamos instalar um sistema operasyonel ve placa. GPS, isteğe bağlı yerelleştirme, herhangi bir anlık kayıt gerektirmeyen, herhangi bir anlık kayıt gerektirmeyen, sistematiği kontrol eden Linaro 17.04.1, sistem kontrolü, Dragonboard 410C ve 96board'ları çalıştırma olarak veja, dahili bağlantı.
GPIO'lar ve Dragonboard 410C'nin kullanımı için bir kitaplık kütüphanesi kurun. Para isso, você deve seguir os passos abaixo (abra o konsolun seu sistema operacional para executar os comandos):
Ön koşullar libmraa
- sudo apt-get güncellemesi
- sudo apt-cache arama pcre
- sudo apt-get install libpcre3-dev
- sudo apt-get kurulum git
- sudo apt-get install cmake
- sudo apt-get install python-dev
- sudo apt-get kurulum swig
yükleniyor
- sudo git klonu
- sudo mkdir mraa/build && cd $_
- sudo cmake.. -DBUILDSWIGNODE=KAPALI
- sudo yapmak
- sudo kurulum yap
Python için bir biblioteca com'da para utilizar, que é o caso deste Instructable, Python'u biblioteca için dışa aktarma ve dışa aktarma ek olarak. Para isso, o editör de texto de sua tercih edilen esancia para seguir os passos abaixo, vamos utilziar o VIM kullanın:
- sudo vim ~/.bashrc
- pressione a teclar i, para iniciar a edição do arquivo
- adicionar ve linha seguinte son bir arquivo yapmak yok: export PYTHONPATH=$PYTHONPATH:$(dirname $(find /usr/local -name mraa.py))
- pressione ESC para sair da edição do arquivo e digite ':x!' e para salvar e sair do arquivo girin.
Com isso já conseguimos, bir biblioteca mraa com Pyhton'dan yararlanır.
Agora, vamos instalar os yazılımları para facilitar ve leitura do GPS (lembrnado que para a utilização dessa parte, önerilen sistema işletim sistemi Linaro 17.04.1).
sudo apt-get install gnss-gpsd gpsd gpsd-clients
Para testar, o código abaixo'yu çalıştır, também no seu konsolu:
gpsmon –n
OBS: Drabonboard é para ser utilizada fora de case e em locais mais abertos için dahili bir anten. Aberto'nun yerini belirleme, en son 5 dakikada 10 dakika, en az ilk kez bilgilendirici olarak.
Pensando no projeto, com certeza iremos enkapsüler o(lar) donanım(lar) num case, e no menor dos cenários, este case estará dentro de uma casa ou apartamento. Para çözücü, podemos utilizar antenas externas, tanto para wi-fi, quanto para o GPS.
OBS: Antenin harici olarak değil, en basit şekilde, en basit şekilde, şu anda aşina olunan prosedürlerle ilgili olarak, SMD, portanto, satın almanın en gerekli hizmeti alması.
Gerçekleştirme veya değiştirme, harici antenler arasında geçiş yapmak için, herhangi bir belge bağlantısı yok.
OBS: İnternet için gerekli tüm bileşenleri (kapasitörler, dirençler ve indüktörler) uygun hale getirin. O mesmo para antenler, SmartCore'da hiçbir siteden daha fazla sugerimos.
Para que nosso ağ geçidi, özel koşullara bağlı değildir ve yapılandırmaya bağlı değildir, wifi, internet, iremos kullanımı ve GSM modülleri. Dragonboard 410C'nin temel gereksinimleri, gereksinimleri ve spesifikasyonları, GSM harici cihazlarının işletimi.
GSM (ATENÇÃO COM A POLARIDADE) için en iyi adım, en iyi ve en iyi hizmetler için geçerlidir.
Bir Dragonboard 410C ortak erişim noktası tanımlayın ve bir Dragonboard 410C ortak erişim noktası tanımlayın. Vamos instalar o yazılım Mosquitto para tornar a nossa placa um broker mqtt, com a execução da linha abaixo hiçbir seu konsolu:
sudo apt-get kurulum sivrisinek
Com isso veya yazılım güncellemeleri yükleme ve yükleme.
Bir Dragonboard 410C ortak erişim noktası, siga os passos tanımlayın:
- Klik hiçbir ikona de redes no canto aşağı direito
- Clique em 'Bağlantıları düzenle'
- Após abrir bir tela 'Ağ bağlantıları', klik em 'Ekle'
- Seçici Wi-fi, e klik em 'Oluştur'
- Ao abrir bir tela de configuração da rede, insira um nome em SSID
- Na mesma tela mude para 'Hotspot', kampo yok 'Mod'
- Caso queira, yeniden yapılandırma, yapılandırma ve 'Wi-fi Güvenliği' dahil
- Para finalizar kliği em 'Kaydet'
Dragonboard 410C'nin, yayımcı ve yayımcıların kullanımından yararlanmaya yönelik agora niteliği.
Kom estes preparos acima, estamos prontos para seguir com o desenvolvimento.
2. Adım: Bir Sua Cloud API'si hazırlayın
Projeler için gerekli olan her şeye bağlıdır. Pode ser que hassas ser feita do sıfır, ou o o o cloud já com bir gereklilik de criar o mecanismo de API, ou até mesmo já ter uma API pronta para utilizar.
Açıklama API'sini temel alır, doğrudan talimat verilebilir. Caso queira seguir um öğretici mais tamamlandı, sugiro ver o artigo deste link. İşlemler için oyun, reklamları değiştirme planı oluşturma, son değerlendirmeler için kampanyalar ve reklamlar.
Primeiramente, precisamos de um lugar para colocarmos ve nossa API, e para não termos gastos com estes testis, iremos uilizar ve plataforma Heroku. Siga os passos para iniciar a sua aplicação:
- Heroku sitesine erişim, por este bağlantısı
- Clique em 'Kayıt Ol', hiçbir canto superior dieito, para iniciar o seu registro
- Kayıt ol, em sua kontrol paneli, clique em 'New' ve escolha a opção 'Create New App'
- Insira um nome para bir sua aplikação
- Em seguida, klik em 'Uygulama Oluştur'
- Seu app está pronto, podendo ver seu funcionamento clicando em 'Açık Uygulamayı', hiçbir canto üstün dirento
- Instale o Heroku Cli, para fazer os, para a aplicação, seguindo a instrução para seu operasyonel sistema, de acordo com a documentação deste bağlantı dağıtıyor
- Agora ses deverá seguir, API, disponível em
Seguindo os passos acima, já máquina için bir makarna, bir sua API ile desenvolver para. Agora vamos instalar o NodeJS ve bir çerçeve Express, seguindo os passos abaixo:
- curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
- sudo apt-get install -y düğümleri
- sudo apt-get install npm
- Linux kullanımı için mevcut değildir o Gelişmiş Paketleme Aracı (APT), işletim sistemi dışı, danışma veya bağlantı
- Agora, npm install express-generator -g'yi yürütür
- Heroku com 'cd _PASTA_SEU_APP_' için erişimin sağlanması
- Bir uygulama düğümü com 'npm init', e os outros comandos abaixo
- cd../
- ekspres _PASTA_SEU_APP_
- cd _PASTA_SEU_APP_
- npm kurulumu
Para deixar dois bitiş noktaları hazırlıkları, um de GET e um de POST, siga os passo abaixo:
- Bir makarna 'rotalarına' erişin
- abra veya arquivo 'index.js'
- Abaixo o trecho de código abaixo, que iraiz ek olarak rotas na raiz da sua aplikasyon para os dois métidos (GET e POST):
router.get('/', function(req, res, next) { res.setHeader('Content-Type', 'application/json'); res.send(JSON.stringify({ msg: 'Merhaba API'}, null, 3)); });router.post('/', function(req, res, next) { var msg = 'empty'; if(req.body.msg != 'tanımsız') msg = req.body.msg; res.setHeader('Content-Type', 'application/json'); res.send(JSON.stringify({ msg: msg}, null, 3)); });
Agora você, bir Heroku uygulaması için konuşlandırmayı gerçekleştirir:
- heroku girişi
- git ekle.
- git commit -am "ilk taahhüt"
- git heroku ustasını itin
Testes prontos ile ilgili son noktalarla iletişim kurun. Para tester os uç noktaları sugerimos instalar o yazılım Postman, iç içe bağlantı. Insira bir url da seu uygulaması (Ör: https://_SEU_APP_.herokuapp.com/) e seçim veya yöntem POST OLUN, e klik em 'GÖNDER'. Para o método POST, siga os passos:
- Clique na aba 'Vücut'
- Selecione ve opção 'x-www-form-urlencoded
- Insira o tuşu 'mesaj'
- Em Value, pode inserir qualquer mensagem
Kullanım talimatları, bir nossa API de testies pronta para o uso.
Adım 3: Installo E Manipulando O Modulo GSM
Para değil Wifi, iletişimden yararlanan bir GSM hizmetinden yararlanın, API'den yararlanın, ön adım yok.
SIM800L modülleri, modülleri, modülleri ve modülleri için bir kontrol sağlar. En iyi modulo foi produzido ve distribuído em Massa pelo fabrikasyon, büyük sem qualquer homologação, tanto que não está disponível hiçbir site yapmak fabrikasyon.
Dragonboard 410C ve GSM modüllerinin giriş ve çıkışları.
Como mencionado adım yok 'Bir sua Dragonboard hazırlayın', teremos que düzenli bir tensão para utilizar o modulo. Para isso utilizaremos um regulador de tensão, geri çekilme, para tensão de entrada. Utilizamos veya Regulador De Tensão Stepdown Buck Conversor Dc Lm2596 3a Nf, para este teste
Siga os passos abaixo para realizar olarak conexões fisicas:
- Dragonboard'da olumlu bir durum, como ilustrado adım yok 'Dragonboard hazırla', 'IN +' ile ilgili düzenlemelerin yapılması
- Dragonboard'la ilgili olumsuz bir yorum yapın, como ilustrado adım yok 'Bir Dragonboard hazırla', e bağlantı 'IN -' tensão do regulador de tensão
- ÖNEMLİ: Ligue a Dragonboard, e com o auxilio de uma chave de fenda, regule o trimpot para que a saída (OUT + e OUT -) tenha 4.2V. Siga adiante apenas se a saída estiver com esse valor. Caso seja, GSM modülo dışından yararlanır, yeterli olup olmadığı doğrulanır. Este passo deve ser repetido, semper que houver dahil olmak üzere tüm donanım, pois pode haver değişkenleri.
- 'Çıkış +' pino VCC yok, en uygun adımın göstergesi
- Bir saída do regulador de tensão 'OUT -' pino GND yok, adımın en iyi göstergesi
- Conecte o pino RXD modülo GSM no pino 5 UART 0 TX da Dragonboard, ambos indicados nas imagens de capa deste adım
- Conecte o pino TXD do modulo GSM pino yok 7 UART 0 RX da Dragonboard, ambos indicados nas imagens de capa deste adım
- GND ve pino GND modülo GSM pino yok 1, 2, 39 OU 40 GND da Dragonboard, ambos indicados nas imagens de capa deste adım. RX TX için temel para istikrarını sağlamak
OBS: Herhangi bir modülolu olmayan anten anteni yok, pelos pinos NET veya IPX ANT, adım adım görüntü göstergesi.
Agora vamos ao yazılımı. Bir Dragonboard 410C modülo GSM ve bir iletişim seri girişi, bir biblioteca mraa que instalamos anteriormente, para realizar a comunicaçao 'dan yararlanır.
Siga os passos para importar a biblioteca e testar a comunicação com o módulo:
- .py, 'gsm.py' adresinden bilgi alın
- Arquivo yok, inicie importando a biblioteca mrra, e também a biblioteca time para definir gecikmeler
ithalat mraa
UART ve modülo GSM için çeşitli değişkenlerin tanımlanması
bağlantı noktası = '/dev/tty96B0'
Instancie a UART com ajuda da biblioteca mraa
uart = mraa. Uart(port)
Enviar para os comando AT para o modulo GSM için ağla
tanım yaz(mesaj):
uart.write(bytearray(str(msg)+'\n', 'utf-8'))
Crie um loop para fazer bir leitura do modulo GSM
while True: r = uart.read(128) if r != '': print(r.decode('UTF-8')) i = str(input()) write(i) time.sleep(0.5)
- Salve o arquivo e volte para o konsol
- Arquivo'yu yürüt
piton gsm.py
Digite 'AT', e se tudo conectado corretamente, você irá receber na tela a mensgem 'OK'
Para que nosso módulo não di digitarmos cada comando AT - encontrados iç bağlantı - faremos duas funções, uma que lár ve conexão com bir APN ve outra que irá bir nossa API tüketir.
Bir primeira função será de conexão:
def connect():
time.sleep(0.5) write("AT") time.sleep(0.5) write('AT+CREG=1') time.sleep(0.5) write('AT+COPS=2') time.sleep(0.5) write('AT+SAPBR=3, 1, "Contype", "GPRS"') time.sleep(0.5) write('AT+SAPBR=3, 1, "APN", "*****"') time.sleep(0.5) write('AT+SAPBR=3, 1, "KULLANICI", "*****"') time.sleep(0.5) write('AT+SAPBR=3, 1, "PWD", "*****"') time.sleep(0.5) write('AT+SAPBR=1, 1') time.sleep(0.5) write('AT+SAPBR=2, 1') time.sleep(6)
Sugiro que bindi cada comanda antes de utilizar esta função. Segue alguma gözlemleri, sobre estes comandos:
- AT+COPS'un geçerliliğini doğrulamak için para tanımla Após veya komando AT_COPS=?
- APN'nin en iyi tanımlı işletim sistemleri, SIM Kart'ın kullanımına bağlı olarak, APN'nin kullanımına ilişkin bir operatör para saber niteliğine sahip bir operatör satın al, enformasyon hizmetini satın al.
- que a cada'yı tamir et
Agora vamos, bir nossa API'sini tüketmek için bir função que irá enviar uygular:
def gönder(p, m, d=''):
write('AT+HTTPINIT') time.sleep(0.5) write('AT+HTTPSSL=1') time.sleep(0.5) write('AT+HTTPPARA="CID", 1') time.sleep(0.5) write('AT+HTTPPARA="URL", "_URL_APP_HEROKU_/'+p+'"') time.sleep(0.5) write('AT+HTTPPARA="USERDATA", "Yetkilendirme: Taşıyıcı ******** *********\r\n"') time.sleep(0.5)if m == 'GET': write('AT+HTTPACTION=0')else: write('AT+HTTPPARA) ="CONTENT", "application/x-www-form-urlencoded"') time.sleep(0.5) write('AT+HTTPDATA='+str(len(d))+', 10000') time.sleep(0.5) write(str(t)) time.sleep(10) write('AT+HTTPACTION=1') time.sleep(6)write('AT+HTTPTERM')
Segue alguma gözlemleri para estes comandos:
- Bir função rebe 3 parametre. API'nin 'p' para o yolu que executado da sua API, 'm' para o método que você irá utilizar da sua api (GET/POST/…), e 'd' para os dados enviados em caso do metodo não GET için
- O comando 'AT+HTTPS' isteğe bağlı, hiçbir caso da sua api kullanımı yok SSL
- O argümano 'm' deverá ser enviado hiçbir formato sorgulama dizgisi (Örn: msg=ola+dragonboard&arg2=teste&…)
- O comando 'AT+HTTPPARA="USERDATA…' isteğe bağlı, apenas se houver bir gereklilik definir algum başlığı talep yok
Daha fazla bilgi için lütfen kontrol edin.
SIM Kart'ın en önemli özellikleri, GSM teknolojisinin tüm modülleri ile ilgili bir operadora danışın.
Dragonboard 410C'de yapılandırmalar ve uygulamalar olarak iletişim, temel bilgiler, iletişim bilgileri ve iletişim bilgileri Dragonboard 410C.
Adım 4: Hazırlama Dispositivos Para Se Comunicar Com a Dragonboard
Neste passo, iremos, bir placa de prototipagem NODEMCU ESP8266 ESP-12, ortak kullanım örneği kullanır. Proto e qualquer, prototipagem dışında, como o nome já diz, é ótima para protótipos, tanımlı como produto için hiçbir momento emque o donanımı, deve ser desenvolvido um komplekso dedicado. Este módulo já possui WiFi, en iyi iletişim araçları.
Para nos comunicarmos com a nossa Dragonboard 410C, precisamos de 2 bibliotecas:
- ESP8266WiFi > biblioteca para ativar ve conexão da placa
- PubSubClient > MQTT komisyoncusu için bir comunicação comunicação comunicação biblioteca para realizar
Dünyanın her yerinde geçerli bir Wi-fi aracısı olarak, Dragonboard 410C:
- const karakter* SSID = "_REDE_DRAGONBOARD_"; // Dragonboard ile Bağlantı Noktası
- const karakter* ŞİFRE = ""; // Hotspot'u yapılandırmak için tanımla
- const char* ARACI = "_IP_DRAGONBOARD_"; // 'ip a' na sua Dragonboard para descobrir o ip da rede interna yürütün
İstemci MQTT'nin en büyük nesnesi:
- WiFiClient espWIFI;
- PubSubClient MQTT(espWIFI);
Kurulum, WIFI bağlantısı ve MQTT bağlantısı:
- WiFi.begin(SSID, ŞİFRE);
- MQTT.setServer(ARACI, 1883);
- MQTT.setCallback(callback_mqtt); // Caso você faça abone ol em algum tópico
Hiçbir sua função de loop, adicione a linha abaixo para que o MQTT giriş döngüsü yok:
MQTT.loop();
Wi-Fi'yi en iyi şekilde kullanmak için bir komisyoncu, para não ter problemas com intermitência. Para isso crie um função com as abaixo, e chame-a na função de loop:
geçersiz checkConnections(){
if (!MQTT.connected())while (!MQTT.connected());
if (WiFi.status() != WL_CONNECTED){WiFi.begin(SSID, PASSWORD);while (WiFi.status() != WL_CONNECTED);}
}
E finalmente, iremos enviar algum dado para a Drabonboard 410C, com o seguinte comando:
MQTT.publish('_NOME_DO_TOPICO_', "Ola Dragonboard");
Donanımla ilgili herhangi bir projede ve donanımda farklı değişkenler için hiçbir örnek yoktur. Temel ihtiyaçlar, bir seu komisyoncusu için en iyi koşullar dahil.
Dragonboard410C, python'u test etmek için en iyi araçlardan biri. Para isso, Dragonboard 410C'de konsol olmadan linhas abaixo olarak yürütülür:
- sudo apt-get install python pip
- pip kurulumu paho-mqtt
Agora vamos criar um arquivo piton com o nome, como exemplo, mqtt.py. Nele vamos tanımlı algumalar funções que serão expplicadas bir seguir:
paho.mqtt.client'i mqttimport sys olarak içe aktar
Aracı = "_IP_DRAGONBOARD_" bağlantı noktası = 1883 zaman aşımı = 60 TopicSubscribe = "_MESMO_TOPICO_DISPOSITIVO_EXTERNO_"
def onConnect(client, userdata, flags, rc): client.subscribe(TopicSubscribe)
def onMessage(client, userdata, msg): mesaj = str(msg.payload) print(message)
deneyin: client = mqtt. Client() client.on_connect = onConnect client.on_message = onMessage client.connect(Aracı, bağlantı noktası, zaman aşımı) client.loop_forever() hariç: sys.exit(0)
Neste arquivo vamos funções, bir 'onConnect' sorgusu için herhangi bir momento em que houver conexão com o broker, e bir função 'onMessage' e bir função executada quado houver mensagem recebida nos 'bağlantılı' hiçbir şey abone değil.
'Python mqtt.py' yürütme veya yürütme, e se todas olarak conexões olarak öncekiler, sido realizadas com sucesso, você receberá na sua tela os dados que estão 'in enviados pelo seu dispositivo externo, hayır externo, hayır.
Not que é na função onMessage, que rebemos bir bilgilendirici ve exibimos nos seu konsolu. Então e ponto que tratará os dados, hiçbir anlık certo, hiçbir anlık sertifika, GSM para a sua API, gsm.py için 'gönderme', herhangi bir geçiş 'Instalando e manipulando modu' aracılığıyla 'gönder'.
Önemli gözlemler: NODEMCU ESP8266 ESP-12, özel gereksinimler, belgeler için danışma veya belgeleme bağlantısı. En iyi an, en basit şeyler, en yeni ve en önemli nokta, en erken, en erken ve en erken dönemde yaşanan gelişmeler.
Adım 5: Finali Düşünün
Ön tanımlı adımların yanı sıra, önceki adımların yanı sıra, IoT iletişim ve diğer tüm donanımların iletişim bilgilerinin yanı sıra Dragonboard 410C'nin de en önemli özellikleri.. API Cloud, Dragonboard'da donanım ligadosları için tekrarlamalar ve işletim sistemleri, harici, yapılacaklar ve uygulamalar için hazırlık ve uygulama gerektirmez. Para tanımlı como produto final, sugerimos apĺicar as technologias ve procedimentos aequados para tal olarak
O uso de gestasyonel uygulamalar, para os commerciantes ligados aos serviços, deixamos em aberto também, bastando trabalhar bem a sua API, ve bir tüketim através destas frentes.
Önerilen:
Dragonboard 410c Usando IDE Eclipse Para Bir Dragonboard ile Desenvolvendo Uygulamaları Uzaktan Kumanda: 17 Adım
Desenvolvendo Uygulamaları Remotamente Para a Dragonboard 410c Usando IDE Eclipse: O objetivo deste documento é HostPC (Bilgisayar / Dizüstü Bilgisayar) için ortam yapılandırması için gerekli olan en uygun koşullar, HostPC (Bilgisayar / Defter), Alvo (Sürükle
Vision 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Uygulaması Android: 6 Adım
Vision 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Uygulaması Android: DESCRIÇAtilde;OO intuito do projeto é dar autonomia para yetersizlikleri visuais se locomoverem em ortamları kapalı como casas ou alışveriş merkezleri ve aeroportolar.A lokomotif çatilde;o em ambiyans já mapeados pode ou não s
Comunicação Seri Com a Dragonboard 410c Usando Mezzanine 96boards Sensörler: 7 Adım
İletişim Seri Com a Dragonboard 410c Usando Mezzanine 96boards Sensörler: O objetivo desse öğretici é Mostrar, bir Dragonboard 410c'ye atravée;s de um computador / notebook usando comunica&ccedi
Acil Durumları Tespit Etme - Qualcomm Dragonboard 410c: 7 Adım
Acil Durumları Tespit Etme - Qualcomm Dragonboard 410c: Acil durumları izlemek için çalışan güvenlik sistemleri aranırken, kaydedilen tüm bilgileri işlemenin çok zor olduğunu fark etmek mümkündür. Bunu düşünerek, bilgimizi ses/görüntü işleme, sensörler ve
Colec.te - Lixeira Inteligente Qualcomm Dragonboard 410c + OpenCV: 7 Adım
Colec.te - Lixeira Inteligente Qualcomm Dragonboard 410c + OpenCV: Bir nossa lixeira inteligente, ayrı bir otomobilden oluşur. Atravé's de uma web kamerası, özel kimlikler için özel olarak ayrılmış ve hiçbir karşılaştırma yapılamaz